jquery - 带有 Bootstrap 的多个下拉菜单不起作用?

标签 jquery html css twitter-bootstrap drop-down-menu

我有这个 html 代码:

<html><head>
  <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.js"></script>
  <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>

<body>
<ul id="menu" class="nav navbar-nav collapse navbar-collapse">
    <li class="dropdown">
        <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
            MAIN
        </a>
        <ul class="dropdown-menu">
            <li class="dropdown">
                <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true">
                    Dropdown Menu 1
                </a>
                <ul class="dropdown-menu">
                    <li>
                        <a>Sub submenu</a>
                    </li>
                </ul>
            </li>
            <li>
                <a>B</a>
            </li>
        </ul>
    </li>
</ul>
</body></html>

问题是,当我下拉“主”菜单时,我看到有一个“下拉菜单 1”......但是如果我关闭主下拉菜单......我会在开发人员工具上看到它公开课添加到第二个下拉列表中,但第一个丢失了公开课......可能是什么问题?感谢您的帮助!

最佳答案

看看: https://jsfiddle.net/26fy9yxm/

JavaScript:

$(document).ready(function(){
  $('.dropdown-submenu a.test').on("click", function(e){
    $(this).next('ul').toggle();
    e.stopPropagation();
    e.preventDefault();
  });
});

CSS:

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
}

HTML:

<!-- Single button -->
<div class="btn-group">
  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Main <span class="caret"></span>
  </button>
  <ul class="dropdown-menu">
    <li class="dropdown-submenu">
      <a class="test" tabindex="-1" href="#">Dropdown Menu 1 <span class="caret"></span></a>
      <ul class="dropdown-menu">
        <li><a tabindex="-1" href="#">Submenu1</a></li>
        <li><a tabindex="-1" href="#">Submenu2</a></li>
      </ul>
    </li>
    <li><a href="#">B</a></li>
  </ul>
</div>

外部代码:

https://code.jquery.com/jquery-3.2.1.js
https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css
https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js

关于jquery - 带有 Bootstrap 的多个下拉菜单不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45733488/

相关文章:

Jquery - 确定点击了哪个链接

javascript - 更改单选按钮上的产品图像

html - 为什么我在 Godaddy 中的大图片无法显示?

jquery - 如何在加载淡出效果时在网站主页上显示整页图像

html - 语义 UI 网格列不适应高度

javascript - 如何选择具有名称和值的输入

javascript - dataTables fixedColumns 部分不工作

javascript - 我的 jquery 方法不起作用

jquery - 为什么这个飞舞的文字渲染不连贯?

python - 当休息请求到达 flask 时如何更改元素的颜色(在 html 页面中)?