Как я могу рассчитать, сколько раз обработать функцию в jquery
<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?
1 ответ
Используйте глобальную переменную для отслеживания количества вызовов функции.
var counter = 0;
function func() {
counter++;
if (counter > 2) return;
// do other fn stuff
}
Слегка заметим, что при использовании jQuery есть лучший способ привязки обработчиков нескольких кликов:
$('div[id^="element"]').click( func );
Конечно, это не имеет значения, так как return
остановит казнь, но если вы не захотели func
чтобы быть вызванным вообще (т.е. если вы хотите полностью удалить событие click), вы можете просто сделать (если вы сделаете изменение выше):
$('div[id^="element"]').unbind('click');
Это было бы на месте return
утверждение в первом разделе кода.