2012-10-15 70 views
3

我解除綁定點擊這些可點擊的div,然後想要再次啓用點擊。我有什麼不起作用。有什麼建議麼?謝謝。jQuery解綁然後綁定

$('#a, #b, #c').on('click', function(e){ 
     $('#a, #b, #c').unbind('click'); 
     // some stuff 
     // bind again: 
     // this doesn't work: $('#a, #b, #c').bind('click'); 
    } 
+1

另外,懸停建議(然後解除綁定懸停後結合)。謝謝。 – ialphan

+1

爲什麼你不只是'toggleClass'並檢查所說的類存在? – ahren

+0

在'bind click'中錯過了函數? –

回答

6

你缺少處理函數// this doesn't work: $('#a, #b, #c').bind('click');當您嘗試重新綁定..你需要的是類似下面,

$('#a, #b, #c').bind('click', clickHandlerA); 

function clickHandlerA() { 
    $('#a, #b, #c').unbind('click'); 
    // some stuff 
    // bind again: 
    // this should work: 
    $('#a, #b, #c').bind('click', clickHandlerA); 
} 
+0

是的,這將起作用。 – ialphan

+0

我認爲最好更具體的解綁並做:$('#a,#b,#c')。unbind('click',clickHandlerA);通過這種方式,您可以確定您只是解除了您感興趣的內容。 –

1

爲「解除綁定」 U上需要使用「.off」 http://api.jquery.com/off/

$('#a, #b, #c').on('click', function(e){ 
    $('#a, #b, #c').off('click'); 
    // some stuff 
    // bind again: 
    // this doesn't work: $('#a, #b, #c').bind('click'); 
} 
+1

.off是更合適的方式,然後執行.unbind,但這不能解決我的問題。我需要綁定它。謝謝。 – ialphan