仅在文档点击时隐藏jkmegamenu

时间:2012-09-13 13:51:39

标签: jquery megamenu

我正在使用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)
    })

但是如何在点击文档内的任何位置时隐藏菜单?

1 个答案:

答案 0 :(得分:0)

您可以在window上收听点击事件,并检查点击页面上的元素。如果not是子菜单的一部分,则可以隐藏子菜单。使用jQuery你可以完成如下:

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

当然,如果导航看起来像这样:

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