以下是我的代码的简化代码段:
$("#textarea_id").on('input propertychange', function(e){
alert('the value of textarea changed');
});
$("#bold").on('click', function(e){
$("#textarea_id").val('bold');
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id = "textarea_id"></textarea>
<br>
<button id = "bold">
B
</button>
&#13;
我希望当该textarea的值更改(以任何方式)时alert
。正如你所看到的那样,当我们在某个textarea中写入内容时,它就会运行,但是当我们点击那个按钮时(而它应该是,因为当我们点击该按钮时,该textarea的值会发生变化) 。如何使其对每种变化都敏感?
答案 0 :(得分:2)
您可以使用change
事件。但是,以编程方式更改值不会自动触发事件处理程序。
要触发事件处理程序,可以使用trigger(event)
。
执行附加到给定事件类型的匹配元素的所有处理程序和行为。
另请注意:.change()
只是.trigger('change')
$("#textarea_id").on('input change', function(e){
alert('the value of textarea changed');
});
$("#bold").on('click', function(e){
$("#textarea_id").val('bold').trigger('change');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id = "textarea_id"></textarea>
<br>
<button id = "bold">
B
</button>
&#13;