0

我希望用 jQuery 创建一个这样的菜单:

  1. 单击一个按钮,该按钮显示一个包含菜单选项的 div。
  2. 如果有其他内容,则在打开菜单时单击菜单隐藏。

我可以很容易地完成第 1 部分,但第 2 部分是我遇到的问题。我正在使用以下代码:

$("html").click(function(){
    menu.hide();
});

但是,一旦我单击按钮,这将关闭菜单。

4

2 回答 2

1

我不太确定你的问题,但你可以试试这个:

$('body').not('menuelement').click(function() {
    menu.hide();
});
于 2012-11-21T08:08:35.953 回答
0

像这样的东西应该工作:

$("html").click(function(e){
    if(!$(e.target).is('#menu_options_div') && $(e.target).parents("#menu_options_div").length == 0)
        menu.hide();
});

e.target- 原始点击元素。只需测试它是否不是带有选项/菜单的 div 以及它的父母之一是否不是那个选项/菜单 div

于 2012-11-21T08:13:55.927 回答