色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

jquery change事件無效

李中冰2年前10瀏覽0評論

jQuery的change事件是用來監聽輸入框的值發生改變時觸發的事件,但是有時候我們會發現在使用change事件時無法生效,下面我們來列舉可能導致change事件無效的幾個原因。

//代碼示例
$('#input').change(function(){
console.log('change事件被觸發了');
});

原因一:事件綁定時機不正確

如果在頁面初始化時綁定change事件,那么當后續動態添加輸入框時,這些輸入框并沒有綁定change事件,所以無法觸發change事件。

//錯誤示例
$('input').change(function(){
console.log('change事件綁定成功');
});
//正確示例
$('body').on('change', 'input', function(){
console.log('change事件綁定成功');
});

原因二:事件委托元素不正確

委托元素指的是在事件委托時綁定了事件的元素,如果委托元素不存在或者委托的元素不是輸入框,則change事件無法觸發。

//錯誤示例
$('#container').on('change', function(){
console.log('change事件委托成功');
});
//正確示例
$('#container').on('change', 'input', function(){
console.log('change事件委托成功');
});

原因三:使用了val()方法賦值

如果使用val()方法來修改輸入框的值,那么會觸發change事件,但是如果使用val()方法從后臺獲取數據來賦值,則change事件不會觸發。

//錯誤示例
$('#input').val('新的值');
//正確示例
$('#input').val('新的值').trigger('change');

總之,當遇到change事件無法觸發時,一定要仔細檢查以上幾個原因,定位問題所在。