jquery - 单击页面上其他任何内容时隐藏元素

标签 jquery

引用 Franek 的问题发现 here我还有一个问题。

上面链接上的解决方案对我有用,直到我在页面上引入了另一个菜单。在本例中,有两个相邻的菜单。当我单击其中之一时,会显示相关的 div,并显示可供选择的选项。然后,当我单击文档时,div 就会关闭。但是当我单击任何其他元素时,它仍然会显示。

对我来说,一个解决方案是运行代码来关闭任何其他元素单击以及文档单击时的菜单。

我怎样才能实现这个目标?

(菜单:不可见的 div 元素,单击其标题时变得可见)

最佳答案

这稍微好一些,因为它还检查被单击元素的父元素:

$(document).click(function(e) {
    var target = e.target;

    if (!$(target).is('#menu') && !$(target).parents().is('#menu')) {
        $('#menu').hide();
    }
});

关于jquery - 单击页面上其他任何内容时隐藏元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/893311/

相关文章:

javascript - jQuery UI 未正确加载?找不到对话框方法

javascript - 当鼠标朝向或位于文档的顶部中心时运行 jQuery

javascript - Opera 忽略 .live() 事件处理程序

javascript - Ajax 等待大图像加载

javascript - 如何在 JavaScript 中创建轮播/ slider 效果?

javascript - 这是 JavaScript/JQuery 中的范围问题吗?

jquery - Cufon + jQuery 悬停不工作

jquery - 在datalist中找到div并提交按钮

javascript - 在 Bootstrap 模式内的 Laravel 中表单提交

javascript - 外部 HTML 检索