撤消单击(function(){return false;})

Undo click(function() {return false;})

本文关键字:false return function 撤消 单击      更新时间:2023-09-26

我有一个问题。在某种程度上,我需要每个元素都是不可点击的,除了一个div,我有:

$('#MainDiv *:not(#Div)').click(function() {return false;});

在MainDiv中,我有其他几个元素(a,img,…),我需要这些元素重新运行才能点击。可以撤消该函数,还是需要再次设置这些元素的每个a.href和img.click?

尝试使用$('#MainDiv *:not(#Div)').unbind("click");然后,当您需要重新设计点击函数时,只需确保每次点击所做的都包含在其on函数中,这样您就可以简单地执行类似$(".someEle").click(function(e){ yourCustomeFuncForThisItem(var1, var2); }); 的操作

这是一个用于事件委派的作业#MainDiv可能有几十个或数百个元素?只需在那里附加一个点击事件处理程序,让事件气泡到#MainDiv,看看被点击的东西是否是#Div。

$("#MainDiv").click(function(event){
    if ( event.target.id === "Div" ) {
      // do the thing with Div
    }
    else {
      return false;
    }
});

你可以试试这个:

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

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