$("#archive").click(function(event){
/*do something*/
});
$('#archive2').unbind('click',event);
我有這個點擊功能,我解除綁定。不過,當我點擊某個按鈕時,我想再次綁定它。如何解除綁定並再次綁定
$("#archive").bind("click",event);
即時通訊使用此代碼再次綁定,但它似乎不工作。任何建議或解決方法?
$("#archive").click(function(event){
/*do something*/
});
$('#archive2').unbind('click',event);
我有這個點擊功能,我解除綁定。不過,當我點擊某個按鈕時,我想再次綁定它。如何解除綁定並再次綁定
$("#archive").bind("click",event);
即時通訊使用此代碼再次綁定,但它似乎不工作。任何建議或解決方法?
爲什麼在事件處理程序中沒有布爾值和if
語句?
你必須保持對函數的引用(而不是傳遞的匿名函數):
function handler() {
// do something
}
$("#archive").click(handler); // bind the first time
$("#archive").unbind('click', handler); // unbind
$("#archive").click(handler); // bind again
不知道什麼是你的情況event
,但如果它是傳遞給事件處理程序event
對象那麼將它傳遞給unbind
和bind
是沒有意義的。
您需要爲該函數提供一個處理程序,以便您可以綁定/取消綁定。 (也可以讓你在同一事件中綁定/解除綁定特定的事件處理程序:
var handler = function() {
alert('The quick brown fox jumps over the lazy dog.');
};
$('#foo').bind('click', handler);
$('#foo').unbind('click', handler);
由於jQuery 1.7你應該使用on和off你所有的事件處理程序綁定:
var handler = function() {
alert('The quick brown fox jumps over the lazy dog.');
};
$('#foo').on('click', handler);
$('#foo').off('click', handler);
使用編程語言或技術名稱標記問題比較好,只有在添加一些特定標記之後 – 2011-04-29 13:19:33
是'#archive2'這是一個錯字 – naiquevin 2011-04-29 13:19:53