【问题标题】:on click outside of link close jquery dropdown在链接之外单击关闭 jquery 下拉菜单
【发布时间】:2016-04-22 16:31:46
【问题描述】:

我正在使用大型菜单插件

插件链接:https://codyhouse.co/demo/mega-dropdown/index.html

仅当我们单击下拉链接按钮时,此下拉菜单才会关闭。但是当我们点击链接外部(正文或 html)时,我想关闭此下拉菜单。

听到的是我的网站链接:http://btssystem.com/new-tricky

在顶部菜单的右侧 我有一个我的帐户下拉菜单。当我们在菜单或正文或 html 之外单击时,我想关闭此下拉菜单。

请帮帮我。

【问题讨论】:

    标签: javascript jquery html css


    【解决方案1】:

    您好,请将此代码粘贴到头部

    <script>
        $(document).mouseup(function (e)
    {
    
      var container = $('.cd-dropdown, .cd-dropdown-trigger');
    
    
      if (!container.is(e.target) // if the target of the click isn't the container...
            && container.has(e.target).length === 0) // ... nor a descendant of the container
        {
            if($('.cd-dropdown, .cd-dropdown-trigger').hasClass('dropdown-is-active'))
    $('.cd-dropdown, .cd-dropdown-trigger').removeClass('dropdown-is-active');
    
        }
    
    });
    </script>
    

    【讨论】:

    • 非常感谢。它工作完美。我只是复制并粘贴您的代码,它就像魅力一样工作......我很高兴。非常感谢你。立即查看链接:btssystem.com/new-tricky
    • 它的工作..非常感谢。
    【解决方案2】:

    试试这个:

    $(document).click( function(){
        $('.main-nav').hide();
    });
    

    【讨论】:

    • 我已经更新了您的代码,但运行不正常。
    • 我已经更新了您的代码,但无法正常运行。见链接:btssystem.com/new-tricky
    • 如果你这样做,它不会改变菜单的十字,因为你不使用“超级菜单插件”。
    【解决方案3】:

    尝试触发点击链接:

    $(document).click( function(){
        $('div.cd-dropdown-wrapper > a').trigger('click')
    });
    

    【讨论】:

    • 使用该脚本,只要用户点击任何地方,它就会不断打开和关闭菜单
    【解决方案4】:

    试试这个:

    $('*').not('div.cd-dropdown-wrapper > a').click( function(){
        if ($('.div.cd-dropdown-wrapper > a').hasClass('dropdown-is-active')) $('div.cd-dropdown-wrapper > a').trigger('click');
    });
    

    我不确定这是否是最终解决方案,我认为您正在使用您的页面,因为在那里尝试时我有一些奇怪的行为,但我希望它至少可以帮助您朝着这个方向前进

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-23
      • 2013-09-22
      • 1970-01-01
      • 2017-03-23
      • 1970-01-01
      相关资源
      最近更新 更多