2012-09-13 55 views
0

我使用jkmegamenu來顯示點擊錨標籤時的子菜單。我需要再次點擊文檔或錨標籤時隱藏子菜單。我能夠隱藏子菜單僅在單擊錨標記與下面的修改(卸下鼠標離開:僅在文檔中點擊隱藏jkmegamenu點擊

megamenu.$menuobj.bind("click **mouseleave**", function(e){ 
     var menuinfo=jkmegamenu.megamenus[parseInt(this.getAttribute("_megamenupos"))] 
     menuinfo.hidetimer=setTimeout(function(){ //add delay before hiding menu 
      jkmegamenu.hidemenu(e, parseInt(menuinfo.$menuobj.get(0).getAttribute("_megamenupos"))) 
     }, jkmegamenu.delaytimer) 
    }) 

但我怎麼能隱藏菜單上單擊文檔內的任何地方

回答

0

你可以聽? 。在window的單擊事件,並檢查被點擊網頁上的內容元素,如果它是not你的子菜單的一部分,你可以隱藏你的子菜單,使用jQuery你可以做到這樣的:

$(window).click(function(e) { 
    if(!$(e.target).hasClass('submenu-link')) { 
     // hide menu here 
    }); 
}); 

那當然如果你的導航看起來像這樣:

<a class="submenu-link" href="/" ... />