3

我遇到了弹出菜单的问题。我基本上有 2 个单击事件,一个用于打开菜单,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")

});
4

1 回答 1

0

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

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

    return false;
});

还要注意使用on方法而不是live.

于 2012-08-29T19:50:32.440 回答