我试图设置为文本域打印样式很长的形式。客户端需要能够从每个textarea中显示所有文本(从任何浏览器)打印页面。我还没有找到任何方式来做到这一点纯CSS(我已经尝试溢出:可见和高度:自动/ 100%属性,都不工作),所以我想知道如何用jQuery来完成这一点。JQuery的复制textarea的值转换成一个div打印
仅供参考,将有上点击功能或任何没有。我有textarea显示屏幕和隐藏的div下面。为了打印,我隐藏了textarea并显示“forprint”div。所以我需要打印的div的值始终与textarea的值匹配。
<div class="forscreen">@Html.TextAreaFor(a => a.Subtitle, AdminOnlyAttribute(new Dictionary<string, object>() { { "class", "k-textbox" }, { "rows", "6" } }))</div>
<div class="forprint"></div>
.forprint {
display: none;
}
@media print {
.forprint {
display: block;
height: auto;
}
.forscreen {
display: none;
}
}
任何帮助将不胜感激!
编辑:当然,我计算出来后不久,我张贴的问题。下面是做到了jQuery的:
$('div textarea').focus(function() {
var copyText = $(this).val();
$(".forprint").html(copyText);
});
现在,我想知道有没有办法,我能做到这一点的页面上的所有文本域,而无需创建独特的ID和功能为他们每个人?
你有那份textarea的内容到div,因为它是进入任何JavaScript?或者你希望我们能写出那部分内容。 –
只是为了澄清,那么div会被隐藏到正规的浏览器一般,但是一旦客户点击打印,然后将文本区域内的文本应通过隐藏的div可见?如果这是正确的,你的CSS是好的。只需使用jquery'attr'工具从文本区域中提取文本并将其放入隐藏的div中即可。一旦用户点击打印,媒体打印CSS应该用文本激活div。 – andre3wap
您可能想要在模糊或更改时执行此操作,但在焦点发生后焦点不会捕获更新。 –