文本区域值变化检测

Detection of textarea value change

我如何检测到我的 textareaId 中的值已更改,而更改是由 javascript 引起的?

例如

$("#buttonID").on("click, function(){
        $("#textareaID").val("lorem ipsum");
});

$("#textareaID").change(function(){
      //not working 
}); 

$("#textareaID").bind('input propertychange', function(){
  //not working 
});

当您以编程方式更改输入的值时,默认情况下不会引发任何事件。如果您需要这种行为,您需要自己触发事件,例如:

$('#foo').val('bar').trigger('change');

从脚本更改值实际上不会触发任何更改或相关事件,您必须同时使用 jQuery 的 trigger() 方法自己执行此操作:-

$("#buttonID").click( function(){
    $("#textareaID").val("Value now added");
    $('#textareaID').trigger('change');   // add this line
});


$("#textareaID").change(function(){
    alert("here");
}); 

input/property 更改事件也是如此。您必须添加:

    $('#textareaID').trigger('input propertychange');