我正在使用jkmegamenu在点击锚标记时显示子菜单。我需要在再次点击文档或锚标记时隐藏子菜单。我只能在单击带有以下修改的锚标签时隐藏子菜单(删除mouseleave:
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 :(得分:0)
您可以在window
上收听点击事件,并检查点击页面上的元素。如果not
是子菜单的一部分,则可以隐藏子菜单。使用jQuery你可以完成如下:
$(window).click(function(e) {
if(!$(e.target).hasClass('submenu-link')) {
// hide menu here
});
});
当然,如果导航看起来像这样:
<a class="submenu-link" href="/" ... />