javascript - 单击其他位置时隐藏 div 菜单

标签 javascript jquery

我的目标是当我单击页面上的其他任何位置时让我的 div 菜单消失。下面是单击两个 div 本身时打开和关闭我的代码的代码。

var content_nav = '';
var content_select = '';
window.onload=function(){
    content_nav = document.getElementById("content_nav");
    content_select = document.getElementById("content_select");
    content_nav.addEventListener("click", show_or_hide);
}

function show_or_hide()
{
   if(content_select.style.display!="block") content_select.style.display="block";
   else content_select.style.display="none";

}

最佳答案

您应该监听整个页面上的点击事件,如果点击位于 content_nav 之外,则隐藏菜单,试试这个(您可能需要调整它才能使其工作,我不知道您的 HTML):

$(document).click(function(e){
        if (! $(e.target).closest('#content_nav').length ) 
            $('#content_nav').hide();
    });

关于javascript - 单击其他位置时隐藏 div 菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15536683/

相关文章:

jquery - Rails 4. jQuery、Acts_as_list、嵌套模型、更新 Controller 中的位置

javascript - typescript - 创建回调函数

javascript - 一键提交两张表单

ajax - 如何使用 Modernizr 测试浏览器的 AJAX 支持?

javascript - 在没有干预文本节点的情况下选择相邻的兄弟节点

javascript - PHP 将变量返回给 AJAX(也许是一个数组?)

javascript - 在 Three.js 中将多个对象存储在一个 json 几何体中

javascript - 如何修复默认 Material 对话框

javascript - jQuery - 将函数应用于具有相同类名的多个选择元素

javascript - 页面在更改 url 中的 id 时出现抖动?