JavaScript/jQuery - 重用元素的事件 'Click'

标签 javascript jquery

例如,我有一个元素,一个 div。并将事件“点击”附加到它。在 jQuery 中,它将是:

 $('#myDiv').click(function(){ 
    $(".class1").show();
 })

现在,我想分配一个新函数“myDiv #”来替换旧函数。我这样做:

$('#myDiv').click(function(){ 
    $(".class23").hide();
})

但是当我在 div 上运行'click'时,执行了我分配给这个疑惑开头的函数。

问题:如何去掉元素点击事件后运行的函数? (不要使用新的点击事件重新创建元素...)

最佳答案

你想要.unbind .

您可以删除所有以前绑定(bind)的函数:

$('#myDiv').unbind('click');

或者如果你只想解绑一个特定的函数:

var show = function() { 
   $(".class1").show();
};

$('#myDiv').click(show);

然后:

$('#myDiv').unbind('click', show); // unbind first function

$('#myDiv').click(function() {     // bind second function
    $(".class23").hide();
});

注意 .click(func) 只是 .bind('click', func) 的快捷方式。

关于JavaScript/jQuery - 重用元素的事件 'Click',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7939354/

相关文章:

Javascript:在另一个函数中调用函数不起作用?

Javascript 缩短和连接函数

javascript - 原型(prototype)上的属性会覆盖实际对象的属性吗?

javascript - 在javascript中显示手机上的虚拟键盘

javascript - 如何访问此 json 对象中的 'img'? PHP,Laravel-5

javascript - ComboBox 隐藏和显示 div

jquery - 使用 z 索引和位置 :fixed to make layered scrolling

javascript - 无法使用 Canvas 的全部空间

JavaScript 对象实例化

javascript - React.js webview 和 native 代码之间进行通信?