首先返回false后不要调用第二次单击事件

时间:2012-08-29 19:42:36

标签: javascript jquery

我遇到弹出式菜单问题。我基本上有两个点击事件,一个用于打开一个菜单,如果点击一个特定的按钮,则返回false,另一个点击事件在document上,如果有人点击任何地方就打算关闭菜单在页面上,但菜单。

在下面的示例中,我不希望在控制台中看到click on document,但我确实如此。我做错了什么?

$('#content .addOptions').live("click",function(){
  console.log("click on addoptions")

    return false;
});


$(document).click(function () {
  console.log("click on document")

});

1 个答案:

答案 0 :(得分:0)

您需要阻止点击事件冒泡到文档级别,因为您确实单击了菜单和包含它的文档。所以这样做:

$('#content .addOptions').on("click",function(e){
  e.stopPropagation();
  console.log("click on addoptions")

    return false;
});

另请注意,使用on方法而不是live进行了更改。