我使用下面的代碼來禁用錨標籤的Click事件禁用錨單擊事件:使這是使用jQuery
//disable Click event for links except navigation
$("a:not(#navigation a)").live('click', function(e) {
e.preventDefault;
return false;
});
我需要重新啓用或刪除其如上設置上點擊執行另一個按鈕。
如何在jQuery中做到這一點?
我使用下面的代碼來禁用錨標籤的Click事件禁用錨單擊事件:使這是使用jQuery
//disable Click event for links except navigation
$("a:not(#navigation a)").live('click', function(e) {
e.preventDefault;
return false;
});
我需要重新啓用或刪除其如上設置上點擊執行另一個按鈕。
如何在jQuery中做到這一點?
卸下帶live
連接的事件處理程序,您可以使用die
:
$("a:not(#navigation a)").die('click');
要解除綁定.live
事件,你可以使用.die
,但我認爲更好的辦法是以下幾點:
$("#buttonToTriggerChange").click(function(e){
// Toggle between adding and removing the class "disable-links" from
// the <body> element
$(document.body).toggleClass('disable-links');
});
$("a:not(#navigation a)").live('click', function(e) {
// Only block the links if <body> has the class "disabled-links"
if($(document.body).hasClass('disabled-links')){
e.preventDefault();
return false;
}
});
根據jquery文檔,你可以用死來殺死它。您應該將直播事件處理變爲一個名爲函數,而不是一個匿名函數:
function live_anchors(e){
e.preventDefault;
return false;
}
$("a:not(#navigation a)").live('click', live_anchors);
那麼你應該能夠撤消與:
$("a:not(#navigation a)").die('click', live_anchors);
函數引用參數是可選的,如果它被省略,所有綁定的處理程序將被刪除。 – CMS 2009-12-12 06:01:00