Unbind не работает в JQuery - PullRequest
0 голосов
/ 26 июня 2009

У меня есть кнопка и я написал две функции для одной кнопки

Как и вначале

  $("#FieldSetting .button").eq(0).unbind('click');
  $('.button').eq(0).click(function(){alert('initally');})

позже в jQuery, когда я нажимаю на div, я написал другую функцию, которая будет реализована той же кнопкой, что и

 $("#fb_contentarea_col1down21 div").live("click", function(){
       $("#FieldSetting .button").eq(0).unbind('click');
       $('.button').eq(0).click(function(){alert("later");})
 });

В обоих случаях я отменил события, но это не сработало.

Моя первая функция для кнопки работает изначально, но если я использую вторую функцию, моя первая функция больше не работает; вторая функция никогда не связывалась.

Пожалуйста, предложите, как решить эту проблему.

1 Ответ

6 голосов
/ 26 июня 2009

Если вы запустите «unbind» в строке 1, а затем добавите новое событие в строке 10, самое последнее действие получит полномочия. То есть, что бы вы ни делали последним, это король.

В этом случае вы добавили функцию .click () спустя долгое время после запуска команды «unbind». Unbind не похоже на live,, это не помешает вам когда-либо привязывать новый набор функций к элементу - оно только отменит все, что было привязано к нему до этого момента.

...