Javascript 删除特定事件
假设我有一个组件,inputType=“text”,id=“cmp” 在js文件中Javascript 删除特定事件,javascript,jquery,web,Javascript,Jquery,Web,假设我有一个组件,inputType=“text”,id=“cmp” 在js文件中 $("input[type='text']").bind('keypress', function(e) { //Case 1 }); 在我的jsp文件中 $("#cmp").keypress(function() { //Case 2 }); 现在我只需要删除一个按键事件。 是否可以删除从js文件注册的id=“cmp”的按键事件。 但我们不应该删除从jsp文件中注册的事件 注: 根据我的要求,我无法更改
$("input[type='text']").bind('keypress', function(e) {
//Case 1
});
在我的jsp文件中
$("#cmp").keypress(function() {
//Case 2
});
现在我只需要删除一个按键事件。
是否可以删除从js文件注册的id=“cmp”的按键事件。
但我们不应该删除从jsp文件中注册的事件
注:
根据我的要求,我无法更改.js文件。您可以使用jquery方法的
关闭
来删除事件
off()方法删除附加了.on()的事件处理程序。
请参阅该页上有关委派和直接绑定事件的讨论
了解更多信息。可以在上删除特定的事件处理程序
通过提供事件名称、名称空间、,
选择器或处理程序函数名。多重过滤时
如果给定参数,则提供的所有参数必须与
要删除的事件处理程序
使用
关闭:删除事件处理程序
您可能希望使用or(jQuery 1.7+)之一,具体取决于事件最初的附加方式以及您使用的jQuery版本
// Prior to jQuery 1.7
$("#cmp").unbind("keypress");
// jQuery 1.7+
$("#cmp").off("keypress");
如果可以修改绑定事件处理程序的原始位置,则还可以使用仅删除特定命名的事件
// Original binding
$("#cmp").on("keypress.someName", function() {
...
});
// Unbinding
$("#cmp").off("keypress.someName");
// Prior to jQuery 1.7
$("#cmp").unbind("keypress");
// jQuery 1.7+
$("#cmp").off("keypress");
// Original binding
$("#cmp").on("keypress.someName", function() {
...
});
// Unbinding
$("#cmp").off("keypress.someName");