我打电话时要清除文本框:
$('#textBox').val(''); or $('#textBox').empty();
最初,当我手动退格并从文本框中删除文本时,on change
函数将会触发。如果我在上面运行$('#textBox').val('')
,则on change
不会触发:
$(document).ready(function() {
$('#textBox').on('change', function(){
为什么会这样?
答案 0 :(得分:4)
使用触发器,如下所示:
$("#testBox").val("").trigger("change");
答案 1 :(得分:1)
以编程方式更改值时,只需使用trigger触发更改事件。
$("#myid").trigger("change");
答案 2 :(得分:1)
不是jQuery不会触发事件,而是浏览器。如果你在specs中查找,你会看到更改事件的定义:
变化
The change event occurs when a control loses the input focus and its value has been modified since gaining focus. This event is valid for INPUT, SELECT, and TEXTAREA. element. Bubbles: Yes Cancelable: No Context Info: None
如上所述,您可以通过trigger()
手动触发事件来缓解您的问题。