当点击其他地方时隐藏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();
});
'if(!$(e.target).closest('#content_nav').length){...}'就足够了! – adeneo 2013-03-20 23:46:20
是真的,我只是编辑它来反映你的话 – redmoon7777 2013-03-20 23:48:26
lol'if(if(' - no need to stutter – 2013-03-20 23:49:02