Как я могу рассчитать, сколько раз обработать функцию в 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 утверждение в первом разделе кода.

Другие вопросы по тегам