我有这行代码$('#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/

10-10 00:48