0
<div id="element1" onclick="func();">1</div>
<div id="element2" onclick="func();">2</div>
<div id="element3" onclick="func();">3</div>
<div id="element4" onclick="func();">4</div>
<div id="element5" onclick="func();">5</div>
<div id="element6" onclick="func();">6</div>
<div id="element7" onclick="func();">7</div>
<div id="element8" onclick="func();">8</div>

当用户单击任何 div 时,func() 函数将起作用,并且计数器计算处理 func() 函数的次数。例如 2 次(我们确定数量)处理 func() 函数比用户再次单击任何 div 函数将不起作用。我怎么能用jquery做到这一点?

4

1 回答 1

3

使用全局变量来跟踪函数被调用的次数。

var counter = 0;

function func() {

    counter++;
    if (counter > 2) return;

    // do other fn stuff
}

稍微相关一点,在使用 jQuery 时,有一种更好的方法可以绑定多个点击处理程序:

$('div[id^="element"]').click( func );

当然,这并不重要,因为return会停止执行,但是如果您根本不想func被调用(即,如果您想完全删除点击事件),那么您可以简单地执行(如果您进行更改以上):

$('div[id^="element"]').unbind('click');

这将代替return第一部分代码中的语句。

于 2012-11-18T08:06:02.470 回答