当点击其他地方时隐藏div菜单

当点击其他地方时隐藏div菜单

问题描述:

我的目标是当我点击页面上的任何其他位置时,我的div菜单消失。下面是打开和关闭我的代码时单击两个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(); 
    }); 
+2

'if(!$(e.target).closest('#content_nav').length){...}'就足够了! – adeneo 2013-03-20 23:46:20

+0

是真的,我只是编辑它来反映你的话 – redmoon7777 2013-03-20 23:48:26

+0

lol'if(if(' - no need to stutter – 2013-03-20 23:49:02