javascript - 如何自动关闭 Bootstrap 4 下拉菜单中的子菜单

标签 javascript jquery html css bootstrap-4

我希望在下拉菜单关闭时关闭下拉菜单中的子菜单。 但是现在如果我再次切换下拉菜单,子菜单仍然打开。

https://plnkr.co/edit/YUmUGHctRlypUq1BNA0p?p=preview

HTML

    <nav id="sideNavBar">
      <ul class="nav nav-pills nav-stacked">
        <li class="dropdown">
          <a href="#" id="menu" data-toggle="dropdown" class="droptown-toggle">Dropdown<span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li class="dropdown-submenu">
              <a href="#" class="test" data-toggle="dropdown">Submenu-1<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li>
                  <a href="#">Item-1</a>
                </li>
              </ul>
            </li>
          </ul>
        </li>
      </ul>
    </nav>

JS

  $(document).ready(function() {
    var $links = $('.dropdown-submenu a.test').on("click", function(e) {
      var submenu = $(this).next();
        $subs.not(submenu).hide()
        submenu.toggle();
      //$(this).next('ul').toggle();
      e.stopPropagation();
      e.preventDefault();
    });
    var $subs = $links.next();

  });

最佳答案

你可以这样做

$('.droptown-toggle').on('click', function(e) {
  $('.dropdown-submenu .dropdown-menu').hide();
});

附言。我认为 droptown-toggle 是一个拼写错误,但我使用的是您的类名。

关于javascript - 如何自动关闭 Bootstrap 4 下拉菜单中的子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48705854/

相关文章:

javascript - Tweenjs 在容器内模糊

javascript - 修复导航栏缩小时的导航栏元素大小

javascript - 无缓存和 cookie 问题

html - 我想使用 CSS 将滚动限制添加到固定页脚

html - CSS 右对齐规则不起作用

html - 仅使用 html/css 更改悬停时的 Google Material Icon

javascript - 在同一浏览器中显示多个 HTML 文档

javascript - 如何等到 .done() 完成后再继续

javascript - Javascript JQuery 中的 CSS - 多重转换

php - 表单、AJAX 和 PHP