【问题标题】:hide jkmegamenu only on document click仅在单击文档时隐藏 jkmegamenu
【发布时间】:2012-09-13 13:51:38
【问题描述】:

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

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

【问题讨论】:

    标签: jquery megamenu


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-31
      • 1970-01-01
      相关资源
      最近更新 更多