即使在手动更新 TEXTAREA 值后如何强制 jQuery.text() 工作? [复制]
Posted
技术标签:
【中文标题】即使在手动更新 TEXTAREA 值后如何强制 jQuery.text() 工作? [复制]【英文标题】:How to force jQuery.text() working even after manual updating the TEXTAREA value? [duplicate] 【发布时间】:2018-05-21 21:38:53 【问题描述】:我刚刚注意到,如果没有手动更新,jQuery text(...)
方法只会设置 TEXTAREA
的内容。例如(也在jsFiddle):
$('#myButton').click(function()
$('#myText').text(Date.now);
);
<textarea id="myText"></textarea>
<button id="myButton">Go!</button>
<script src="//code.jquery.com/jquery-2.1.0.js"></script>
现在,当我单击 Go! 时,TEXTAREA
的内容将更新为当前时间戳。我也可以做多次。在职的。但是,如果我手动更改文本(例如通过删除或添加字符),它将停止工作。
我还尝试了val(...)
方法。无论文本字段上的手动更改如何,它都能按预期工作。
如何在手动更改后让jQuery.text(...)
工作?
【问题讨论】:
您是否有理由需要在这里使用.text()
而不是.val()
?
“我也尝试了 val(...) 方法。它按预期工作,无论文本字段上的手动更改如何。” 那你为什么使用@ 987654334@?
类似问题已在此处得到解答***.com/questions/1927593/…
@j08691 .val(...)
用于value
属性。 TEXTAREA
有一个内部文本。所以使用.text(...)
是有意义的,我只是想知道,为什么它不能正常工作或/以及我是否做错了什么。
@T.J.Crowder 请参阅comment above。
【参考方案1】:
您的问题似乎表明您知道可以使用val
,但选择不使用。所以我尝试了各种选项,但我认为您不能可靠地使用text
来设置文本区域。
因此,由于设置textarea
的值的正确方法是使用val
,因此使用val
。 :-) 如果你这样做,不管textarea
是否被用户编辑,它都可以工作:
$('#myButton').click(function()
$('#myText').val(Date.now);
);
<textarea id="myText"></textarea>
<button id="myButton">Go!</button>
<script src="//code.jquery.com/jquery-2.1.0.js"></script>
【讨论】:
以上是关于即使在手动更新 TEXTAREA 值后如何强制 jQuery.text() 工作? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
通过JS改变textarea的值后,但提交表单时还是默认的,为啥!!!
手动写入后无法使用 javascript 更新 textarea