gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 01:47:16 25 4
gpt4 key购买 nike

我正在尝试为很长的表单上的文本区域设置打印样式。客户端需要能够打印页面(从任何浏览器),其中包含每个文本区域显示的所有文本。我还没有找到任何方法用纯CSS来做到这一点(我尝试过overflow:visible和height:auto/100%属性,但都不起作用)所以我想知道如何用jquery来完成这个任务。

仅供引用,不会有点击功能或任何东西。我在屏幕上显示了文本区域,并在其下方隐藏了一个 div。对于打印,我隐藏文本区域并显示“forprint”div。所以我需要打印的 div 的值始终与文本区域的值匹配。

<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 和函数?

最佳答案

我很难得到你真正在做什么,但是一旦用户单击打印按钮,从所有文本区域获取文本,根据我的一点知识,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);
}
}

您可能还想尝试使用 body 元素的模糊事件。我希望这有效。问候并祝一切顺利

关于javascript - JQuery将textarea值复制到div中进行打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20152612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com