我有这行代码$('#tbl-purchase-list').on( 'keyup change', 'input[type="text"]'
,用于检测所有input[type="text"]
字段的输入。但是,我有一个输入字段,在键盘上输入文本或对其进行任何更改时都不想被检测。<input type="text" class="form-control purchase-freight-charge" id="purchase-freight-charge" value="" />
。 javascript中有没有一种方法可以忽略某些元素的某些事件?像这样的$("#purchase-freight-charge").ignoreEvents();
吗?请帮忙。非常感谢。
最佳答案
当然,有一个:not()
伪选择器:
$('#tbl-purchase-list').on('keyup change',
'input[type="text"]:not(#purchase-freight-charge)',
...);
不会将目标元素添加到匹配的选择器集中。因此,在
:not()
内该元素不会有任何事件。事件也可以这样做:
$('#tbl-purchase-list').on('keyup change', 'input[type="text"]',function(ev){
if(this.id === "purchase-freight-charge"){
this.value = "";
}
});
关于javascript - 如何取消检测/忽略某个html元素中的javascript事件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41519887/