Jquery重新绑定我解除绑定的每个元素

时间:2013-06-13 09:01:46

标签: jquery click unbind

我试图解除对元素的点击调用,然后取消绑定unbind。 我知道我可以使用处理程序来处理每次单击,但是我使用unbind对太多元素进行处理,例如:

$(".classname").unbind('click');

所以我可以让自己一个接一个地写它,任何其他美学方式和方法比1写1更有效率? 感谢。

修改

详细示例: 我有很多按钮都有相同的CSS类, 当我按下1个特定按钮时,我需要将所有其余按钮解除绑定而无需单击它们。 在我按下的按钮完成他的purpese后,我需要再次重新绑定所有点击事件。 那就是当我说解除绑定时我的意思。

2 个答案:

答案 0 :(得分:1)

如果取消绑定按钮以避免多次调用函数,为什么不定义像inProcess这样的全局布尔变量。 您可以在功能开头检查它是true还是false并完成!

像这样:

var inProcess = false;
function myFunction() {
    if (!inProcess) {
        inProcess = true;
        // some logic code here
        inProcess = false;
    }
    return;
}

这几乎是相同的过程,但是,它比你的浏览器更轻,而不是多次“绑定”/“取消绑定”。

答案 1 :(得分:0)

在我看来,您希望少数元素具有点击事件而不是其余部分。要实现这一点,只需为元素指定一个任意类名,这样就可以将其用作jQuery选择器。

<p class="classname">Some element</p>
<p class="classname">Some element</p>
<p class="classname">Some element</p>
<p class="classname arbitraryclassname">Some element</p>
<p class="classname arbitraryclassname">Some element</p>
<p class="classname arbitraryclassname">Some element</p>

然后在Jquery中使用

$(".arbitraryclassname").bind('click', function() { 
     // Some logic
});