我希望用 jQuery 创建一个这样的菜单:
- 单击一个按钮,该按钮显示一个包含菜单选项的 div。
- 如果有其他内容,则在打开菜单时单击菜单隐藏。
我可以很容易地完成第 1 部分,但第 2 部分是我遇到的问题。我正在使用以下代码:
$("html").click(function(){
menu.hide();
});
但是,一旦我单击按钮,这将关闭菜单。
我不太确定你的问题,但你可以试试这个:
$('body').not('menuelement').click(function() {
menu.hide();
});
像这样的东西应该工作:
$("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