簡體   English   中英

在jQuery中禁用綁定點擊事件

[英]Disable bound click event in jquery

我嘗試在jquery中禁用綁定的click事件,但是我只能取消綁定或關閉事件click。 如果我執行unbind() ,則無法取回那些綁定的函數。

例如:我有一個3 div綁定了帶有click事件的各種功能。 在某些情況下,我不希望特定的div點擊事件。 因此,我嘗試禁用該事件,但只能嘗試取消綁定()或關閉()該事件。 如果我從div取消綁定該事件,則再次需要將這些函數綁定回該div。 見小提琴

有沒有一種方法可以禁用該事件並啟用這些事件而無需解除綁定。

提前致謝。

您可以像這樣停止事件:

function handler(e){
    if(yourcondition)
        e.preventDefault();
    else {

    }
}

您可以為這些div指定一個類名。 並通過該類名稱調用click事件,例如

$(".class_name").click(function(){ });

當您要禁用click事件時,請使用id選擇器刪除該類

$("#div_id").removeClass("class_name");

當您要添加click事件時,請使用id選擇器添加該類

$("#div_id").addClass("class_name");

在這個例子中

http://jsfiddle.net/prollygeek/WuNGJ/2/

您可以從所有元素中刪除類指針,以使任何元素都不會響應任何綁定的動作,一旦您撤消了該類,它將正常響應,可以通過單擊div 1完成類的綁定和取消綁定。

$(".element").on('click',function(){
  if($(this).hasClass("triggered"))
     {

$(".element").addClass('pointer');
$(this).removeClass("triggered");
}
else if($(this).hasClass("pointer"))
     {

$(".pointer").removeClass("pointer");
$(this).addClass("triggered");
}
//do whatever
})     

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM