2012-10-12 4 views
0

У меня есть этот код ниже:обработчиков событий JQuery повторно

$("#radar_play").click(function(){ 
console.log(this); 
$(this).unbind('click'); 
$(this).bind('click'); 
.... 
..... 
..... 

} 

Тогда в <body> теге у меня есть эта кнопка ниже

<button id="radar_play'">PLAY ANIMATION</button> 

Для меня это выглядит как я удаление события щелчка (который делает работу), затем повторно прикрепляя его.

Но событие click никогда не связывается снова. Кто-нибудь знает, почему?

+0

Я имел в виду, чтобы включить кнопку ИГРАТЬ RADAR LOOP –

ответ

0

Вы должны указать обработчик при повторной привязки, вы могли бы назвать ваше закрытие и использовать его следующим образом:

$("#radar_play").click(function click_handler(){ 
    //Perform the onclick logic 
    $(this).blabla... 
    $(this).unbind('click'); 
    .... 
    //now we want to bind again 
    $(this).bind('click', click_handler); 
}); 
2

Когда вы подмена события щелчка вы должны дать ему обработчика тоже .. В противном случае событие не будет действовать на ..

$(this).unbind('click'); 
    $(this).bind('click', function() { 

     // What you want to do 

    }); 

ИЛИ

$(this).unbind('click').bind('click', function() { 

    // What you want to do 
}); 

Также обратите внимание на что частое связывание и развязка - это antipattern .. Вам нужно его избегать, если вы можете

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