我尝试在jquery中禁用绑定的单击事件,但我发现只能解除绑定或关闭事件。如果我做unbind()
我无法取回那些绑定的功能。
例如:我有一个带有click事件的三个div绑定的各种函数。在某些情况下,我不想要特定的div点击事件。所以我尝试禁用该事件只能尝试unbind()或off()事件。如果我从div中取消绑定()事件,那么我需要将这些函数绑定回该div。 See fiddle
有没有办法禁用事件并启用这些事件而不解除绑定。
提前致谢。
答案 0 :(得分:2)
你可以停止这样的事件:
function handler(e){
if(yourcondition)
e.preventDefault();
else {
}
}
答案 1 :(得分:0)
您可以为这些div提供类名。并通过此类名称调用click事件,如
$(".class_name").click(function(){ });
如果要禁用click事件,请使用id选择器删除类
$("#div_id").removeClass("class_name");
当你想添加click事件然后使用id选择器添加类
$("#div_id").addClass("class_name");
答案 2 :(得分:0)
在这个例子中
http://jsfiddle.net/prollygeek/WuNGJ/2/
你可以从所有元素中删除类指针,这样任何元素都不会响应任何绑定动作,一旦你回到类中,它就会正常响应,类绑定和解除绑定可以通过单击div来完成。
$(".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
})