Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 撤消单击(函数(){return false;})_Javascript_Jquery_Function_Events_Click - Fatal编程技术网

Javascript 撤消单击(函数(){return false;})

Javascript 撤消单击(函数(){return false;}),javascript,jquery,function,events,click,Javascript,Jquery,Function,Events,Click,我有个问题。在某些时候,我需要每个元素都是不可点击的,除了一个div,我有: $('#MainDiv *:not(#Div)').click(function() {return false;}); 在MainDiv中,我有几个其他元素(a,img,…),我需要重新运行这些元素才能单击。可以撤消该功能,还是需要再次设置这些元素的每个a.href和img.click?尝试使用$('MainDiv*:not('Div')。解除绑定(“click”) 然后,当您需要重新设计click函数时,只需确保

我有个问题。在某些时候,我需要每个元素都是不可点击的,除了一个div,我有:

$('#MainDiv *:not(#Div)').click(function() {return false;});
在MainDiv中,我有几个其他元素(a,img,…),我需要重新运行这些元素才能单击。可以撤消该功能,还是需要再次设置这些元素的每个a.href和img.click?

尝试使用
$('MainDiv*:not('Div')。解除绑定(“click”)

然后,当您需要重新设计click函数时,只需确保每次单击所做的事情都包含在其on函数中,这样您就可以简单地执行类似于
$(“.someEle”)。单击(函数(e){yourCustomeFuncForThisItem(var1,var2);})

这是事件委派的作业#MainDiv可能有几十个或数百个元素?只需将单击事件处理程序附加到那里,让事件冒泡到#MainDiv,然后查看单击的对象是否为#Div

您可以尝试以下方法:

$('#MainDiv *:not(#Div)').bind('click', false);

$('#MainDiv *:not(#Div)').unbind('click', false);

$('MainDiv*:not('Div')).bind('click',false)
应等同于
$('#MainDiv*:not(#Div')。单击(function(){return false;})

为什么不首先从选择器中省略它们呢?如果不在未记录的jQuery内部进行修改,就不可能做到这一点。如果您不介意这样做(并且冒着脚本被未来jQuery更新破坏的风险),那么这是可能的,尽管不是很便宜。就在我按下一个按钮时,让它们再次可点击。对不起,如果我不明白你的回答,我会的,如果我明白你说的话。。。我需要重新设置每个元素的功能。。。是这样吗?
$('#MainDiv *:not(#Div)').bind('click', false);

$('#MainDiv *:not(#Div)').unbind('click', false);