2013-03-20 82 views
0

我的目標是當我點擊頁面上的任何其他位置時,我的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"; 

} 

回答

2

你應該聽整個頁面上的點擊事件,並隱藏菜單,如果點擊是外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

相關問題