Событие отмены функции jquery после выполнения - PullRequest
0 голосов
/ 01 июля 2011

Привет, Фолкс, Пожалуйста, помогите мне исправить это: Предположим, мы вызываем ту же функцию javascript из якорей, но с другим параметром

<a id="edit1" onclick="foo(1)"></a> 
<a id="edit2" onclick="foo(2)"></a>

function foo(id)
{
// let's say the code here hide the clicked anchor and show a new anchor with cancel-edit id 
}

Сценарий:

  • Я щелкнул в первом якоре - Первый якорь заменили новым якорем:
  • Как я могу отключить функцию, поэтому, когда я нажимаю во втором якоре, она не работает.
  • Теперь предположим, что я нажал на якорь с идентификатором cancel-edit, он отзовет якорь с идентификатором edit1 и снова активирует функцию foo, поэтому, когда я нажму на второй якорь, он снова выполнит функцию foo...

Надеюсь, понятно: X!Заранее спасибо.

1 Ответ

1 голос
/ 01 июля 2011

Если вы хотите отключить его для всех элементов после нажатия, вы можете просто установить флаг:

var enabled = true;
function foo(id) {
    if( enabled ) {
        // run your code
        enabled = false;
    }
}

Он будет продолжать работать, но код в операторе if не будет после первого щелчка.

function stop() {

    // replace the original anchor

    enabled = true; // enable the "foo" handler

}

При нажатии новой привязки с stop() вы заменяете ее исходной привязкой и устанавливаете enabled в true, чтобы foo() снова работал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...