[英]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.