-1

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

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

所以我可以让自己一个一个地写出来,任何其他审美方式和方式比一个一个地写更有效?谢谢。

编辑:

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

4

2 回答 2

1

如果您取消绑定按钮以避免函数的多次调用,为什么不定义一个全局布尔变量,如inProcess. 你检查它是否truefalse你的函数的开头,它已经完成了!

像这样 :

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

这几乎是相同的过程,但是对于您的浏览器来说,它比多次“绑定”/“取消绑定”更轻松。

于 2013-06-13T09:44:02.970 回答
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
});
于 2013-06-13T09:26:24.273 回答