【问题标题】:How to close bootstrap dropdown menu on button click?如何在按钮单击时关闭引导下拉菜单?
【发布时间】:2016-10-01 22:40:31
【问题描述】:

我有一个引导下拉菜单,当我使用放置在其中的网格时,我打开并让它保持打开状态,当我在下拉区域之外单击时可以关闭下拉菜单,但我想关闭它按下按钮单击事件..

这是我的下拉菜单的 html

<div class="dropdown">
    <button class="btn dropdown-toggle col-md-3" type="button" data-toggle="dropdown">
        Select Category
        <span class="caret"></span>
    </button>
    <ul class="dropdown-menu col-md-7" onClick="event.stopPropagation();">
        <div id="MaterialGridList" style="height:440px;"></div>
        <button type="button" id="btnFilter" class="btn btn-sm btn-success">Filter</button>
    </ul>
</div>

正如您在下拉菜单的 onClick 事件中看到的那样,它保持打开状态。所以我想做的是在 btnFilter 点击事件上关闭它。 有什么想法吗?

【问题讨论】:

    标签: jquery html twitter-bootstrap


    【解决方案1】:

    您可以在内部有按钮的.dropdown 上使用toggle 函数:

    $('#btnFilter').click(function() {
      $(this).parents('.dropdown').find('button.dropdown-toggle').dropdown('toggle')
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" />
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <div class="dropdown">
        <button class="btn dropdown-toggle col-md-3" type="button" data-toggle="dropdown">
            Select Category
            <span class="caret"></span>
        </button>
        <ul class="dropdown-menu col-md-7" onClick="event.stopPropagation();">
            <div id="MaterialGridList" style="height:440px;"></div>
            <button type="button" id="btnFilter" class="btn btn-sm btn-success">Filter</button>
        </ul>
    </div>

    【讨论】:

      【解决方案2】:

      只需在要关闭菜单的元素上添加data-toggle="dropdown" 标签即可。

      <button type="button" id="btnFilter" class="btn btn-sm btn-success" data-toggle="dropdown">Filter</button>
      

      【讨论】:

      • 这是最简单的 IMO,因为它不需要任何 JS。
      【解决方案3】:

      将此添加到 .js 文件的 jQuery sn-p 中。

      $('.nav-link').on('click',function() {
          $(".navbar-toggler-icon").trigger("click");
      });
      

      【讨论】:

        猜你喜欢
        • 2012-06-07
        • 2018-05-10
        • 2018-02-14
        • 2022-10-31
        • 2021-03-28
        • 1970-01-01
        • 1970-01-01
        • 2022-01-22
        • 1970-01-01
        相关资源
        最近更新 更多