首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除特定事件

删除特定事件
EN

Stack Overflow用户
提问于 2013-03-11 13:43:44
回答 3查看 100关注 0票数 2

假设我有一个组件,inputType="text“,id ="cmp";

在js文件中,

代码语言:javascript
复制
$("input[type='text']").bind('keypress', function(e) {
//Case 1
});

在我jsp文件中,

代码语言:javascript
复制
$("#cmp").keypress(function() {
  //Case 2
});

现在我只需要删除一个按键事件。是否可以删除从js文件中注册的id ="cmp“的按键事件。但是我们不应该删除从jsp文件中注册的事件。

注意:根据我的要求,我不能更改.js文件。

EN

回答 3

Stack Overflow用户

发布于 2013-03-11 13:44:43

您可以使用jquery方法的off来移除事件Jquery OFf

()方法删除使用.on()附加的事件处理程序。有关更多信息,请参阅该页面上对委托事件和直接绑定事件的讨论。通过提供事件名称、命名空间、选择器或处理程序函数名称的组合,可以在元素上删除特定的事件处理程序。当给定多个筛选参数时,提供的所有参数必须匹配才能移除事件处理程序。

代码语言:javascript
复制
$('#cmp').off('keypress');
票数 0
EN

Stack Overflow用户

发布于 2013-03-11 13:45:11

使用off()

off:移除事件处理程序。

代码语言:javascript
复制
$('#cmp').off('keypress');
票数 0
EN

Stack Overflow用户

发布于 2013-03-11 15:42:45

您将希望使用.unbind().off() (jQuery 1.7+),具体取决于最初附加事件的方式以及使用的jQuery版本。

代码语言:javascript
复制
// Prior to jQuery 1.7
$("#cmp").unbind("keypress");

// jQuery 1.7+
$("#cmp").off("keypress");

如果可以修改绑定事件处理程序的原始位置,则还可以使用event namespaces仅移除特定命名的事件。

代码语言:javascript
复制
// Original binding
$("#cmp").on("keypress.someName", function() {
  ...
});

// Unbinding
$("#cmp").off("keypress.someName");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15331932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档