我尝试在更改textarea中的值时触发事件。我绑定了change input paste keyup,当我手动输入或粘贴内容时,它工作得很好。但我不知道如何使用jquery在发生更改时触发。$("#inptxt").val("Jquery");
HTML
<textarea id="inptxt" ></textarea>
<div id="res" ></div>
<input type="button" value="click" id="but" />jQuery
$("#inptxt").on("change input paste keyup", function() {
$("#res").html(jQuery(this).val());
});
$("#but").bind("click",function(){
$("#inptxt").val("Jquery");
});示例Fiddle
发布于 2014-06-06 14:07:32
为每个脚本设置值不会触发更改事件。如果您需要该事件,则必须手动触发。
$("#but").bind("click",function(){
$("#inptxt").val("Jquery").trigger('change');
});发布于 2014-06-06 14:46:58
浏览器不能识别输入字段#inptxt中的文本更新,因为它是使用jquery以编程方式完成的。因此,您必须在更新文本值后手动触发更改事件。
Jquery代码:
$("#inptxt").on("change input paste keyup", function() {
$("#res").html(jQuery(this).val());
});
$("#but").bind("click",function(){
$("#inptxt").val("Jquery").change();
});现场演示:
http://jsfiddle.net/dreamweiver/ZVcG4/6/
Reference SO问题:
快乐编码:)
发布于 2019-01-15 02:58:00
我发现textarea是它自己的输入类型,所以你需要在你的第一行简单地包含它,并且你在输入时会有实时的更新……
$("#inptxt").on("change input paste keyup textarea", function() {
$("#res").html(jQuery(this).val());
});
$("#but").bind("click",function(){
$("#inptxt").val("Jquery not trigger the change function");
});https://stackoverflow.com/questions/24075218
复制相似问题