Javascript JQuery将textarea值复制到div中进行打印

Javascript JQuery将textarea值复制到div中进行打印,javascript,jquery,css,printing,textarea,Javascript,Jquery,Css,Printing,Textarea,我正在尝试在很长的表单上设置文本区域的打印样式。客户端需要能够打印页面(从任何浏览器),并显示每个文本区域中的所有文本。我还没有找到用纯CSS实现这一点的方法(我已经尝试过溢出:可见和高度:auto/100%属性,两者都不起作用),所以我想知道如何用jquery实现这一点 仅供参考,不会有点击功能或任何东西。我有文本区显示屏幕和一个隐藏的div下面。对于打印,我隐藏了textarea并显示“forprint”div。因此我需要打印div的值始终与textarea的值匹配 <div clas

我正在尝试在很长的表单上设置文本区域的打印样式。客户端需要能够打印页面(从任何浏览器),并显示每个文本区域中的所有文本。我还没有找到用纯CSS实现这一点的方法(我已经尝试过溢出:可见和高度:auto/100%属性,两者都不起作用),所以我想知道如何用jquery实现这一点

仅供参考,不会有点击功能或任何东西。我有文本区显示屏幕和一个隐藏的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;
    }
}

现在,我想知道是否有一种方法可以在不为每个文本区域创建唯一ID和函数的情况下对页面上的所有文本区域执行此操作?

我很难了解您真正在做什么,但根据我的一点知识,一旦用户单击打印按钮,就可以从所有文本区域获取文本,window.document对象失去焦点-模糊事件。将注意力集中在触发文本复制的事件上,我认为以下几点可以做到:

$(document).blur(function(e)
{
   var textObj = $("textarea").toArray();
   for(var i = 0; i<textObj.length; ++i)
   {
       var mytext = textObj[i].val();
       $(".forprint").append(mytext);
   }
}
$(文档).blur(函数(e)
{
var textObj=$(“textarea”).toArray();

对于(var i=0;我是否有javascript在输入时将textarea内容复制到div?还是希望我们编写该部分。只是为了澄清一下,div通常对常规浏览器是隐藏的,但一旦客户端单击“打印”,则textarea中的文本应该通过隐藏的div可见?如果正确,您的css很好。只需使用jquery“attr”工具从文本区域提取文本,并将其放入隐藏的div中。一旦用户单击“打印”,媒体打印css应使用文本激活div。您可能希望在模糊或更改时执行此操作,焦点发生后将不会捕获更新。啊,好的,很酷。谢谢帮助。我有什么想法吗最后一个问题?我不是JS专家,所以我只是想知道最好的方法是什么。
$(document).blur(function(e)
{
   var textObj = $("textarea").toArray();
   for(var i = 0; i<textObj.length; ++i)
   {
       var mytext = textObj[i].val();
       $(".forprint").append(mytext);
   }
}