2010-05-07 2 views
3

Когда я использую этот код элемент с идентификатором «Foobar»:наиважнейших ранее переплет кликов события

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

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

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

ответ

9

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

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

Обратите внимание на метод unbind(). Он делает именно то, на что это похоже.

Смежные вопросы