переопределение ранее связанных событий клика - PullRequest
3 голосов
/ 07 мая 2010

Когда я использую этот код с элементом с идентификатором "foobar":

$("#foobar").click(function () { alert("first"); });
$("#foobar").click(function () { alert("second"); });

Я получаю два предупреждения: «первое» и «второе» второе.

Как указать событие щелчка, которое также удаляет все предыдущие события щелчка, прикрепленные к элементу? Я хочу, чтобы последние $("#foobar").click(...) удалили все ранее связанные события.

Ответы [ 2 ]

9 голосов
/ 07 мая 2010

Вы можете отменить привязку событий, уже прикрепленных к этому элементу, а затем присоединить второй обработчик событий, поэтому он будет единственным (обратите внимание на метод unbind).

$("#foobar").unbind("click").click(function() { alert("second"); });
3 голосов
/ 07 мая 2010
$("#foobar").click(function () { alert("first"); });
$("#foobar").unbind('click').click(function () { alert("second"); });

Обратите внимание на метод unbind () . Это именно так, как звучит.

...