假设我有一个组件,inputType =“text”,id =“cmp”;
在js文件中,
$("input[type='text']").bind('keypress', function(e) {
//Case 1
});
在我的jsp文件中,
$("#cmp").keypress(function() {
//Case 2
});
现在我只需删除一个按键事件。 是否可以删除从js文件注册的id =“cmp”的按键事件。 但我们不应该删除从jsp文件注册的事件。
注意: 根据我的要求,我无法更改.js文件。
答案 0 :(得分:0)
您可以使用off
的jquery方法删除事件Jquery OFf
off()方法删除用.on()附加的事件处理程序。 请参阅该页面上委托和直接绑定事件的讨论 欲获得更多信息。可以删除特定的事件处理程序 通过提供事件名称,命名空间, 选择器或处理函数名称。多次过滤时 给出了参数,提供的所有参数必须匹配 要删除的事件处理程序。
$('#cmp').off('keypress');
答案 1 :(得分:0)
答案 2 :(得分:0)
您需要使用.unbind()或.off()( jQuery 1.7 + ),具体取决于事件最初的附加方式以及您使用的jQuery版本。< / p>
// Prior to jQuery 1.7
$("#cmp").unbind("keypress");
// jQuery 1.7+
$("#cmp").off("keypress");
如果您可以修改绑定事件处理程序的原始位置,您也可以使用event namespaces仅删除特定命名的事件。
// Original binding
$("#cmp").on("keypress.someName", function() {
...
});
// Unbinding
$("#cmp").off("keypress.someName");
<强> EXAMPLE 强>