首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[引导]-当下拉和崩溃一起使用时,奇怪的行为

问[引导]-当下拉和崩溃一起使用时,奇怪的行为
EN

Stack Overflow用户
提问于 2017-07-19 01:32:44
回答 1查看 45关注 0票数 0

我对使用Bootstrap的开发相当新,我一直在尝试创建一个下拉列表,它具有可折叠的特性,这样任何带有下拉列表的子项都可以显示在可折叠容器中。

我在网上找到了一些代码,这些代码很大程度上解释了我要完成的任务:https://www.bootply.com/1u6VW4bsrR

我试着写了几行HTML代码来完成与上面类似的任务:

代码语言:javascript
复制
<div class="dropdown">
  <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Dropdown Example
  <span class="caret"></span></button>
  <ul class="dropdown-menu">
     <li>
       <a data-toggle="collapse" href="#collapse1">HTML</a>
       <div id="collapse1" class="panel-collapse collapse">
         <div class="panel-body">
           <ul class='dropdown-menu sub-menu'>
             <li><a>Type 1</a></li>
             <li><a>Type 2</a></li>
           </ul>
         </div>
       </div>
    </li>
    <li><a href="#">CSS</a></li>
    <li><a href="#">JavaScript</a></li>
 </ul>
</div>

代码链接:https://codepen.io/anon/pen/weLKzp/?editors=1010

但这让我很难过。我注意到有两种特定的行为:

  1. 当我单击下拉列表,然后单击可折叠div(HTML)之后,下拉列表就消失了。当单击下拉菜单时,它将显示出来。
  2. 当下拉显示具有可折叠的div时,所有带有可折叠面板主体的子项都不会出现。

你能帮我弄清楚哪里需要改变吗?我做错了什么?任何指点都会受到赞赏。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-19 04:19:39

在本例中,我为多级下拉列表创建了一个.下拉子菜单类。

注意,我在单击时添加了jQuery来打开多级下拉列表。

​

代码语言:javascript
复制
.dropdown-submenu {
    position: relative;
}

.dropdown-submenu .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
}
代码语言:javascript
复制
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>



  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<div class="container">
  
  <div class="dropdown">
    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Tutorials
    <span class="caret"></span></button>
    <ul class="dropdown-menu">
      <li><a tabindex="-1" href="#">HTML</a></li>
      <li><a tabindex="-1" href="#">CSS</a></li>
      <li class="dropdown-submenu">
        <a class="test" tabindex="-1" href="#">New dropdown <span class="caret"></span></a>
        <ul class="dropdown-menu">
          <li><a tabindex="-1" href="#">2nd level dropdown</a></li>
          <li><a tabindex="-1" href="#">2nd level dropdown</a></li>
          <li class="dropdown-submenu">
            <a class="test" href="#">Another dropdown <span class="caret"></span></a>
            <ul class="dropdown-menu">
              <li><a href="#">3rd level dropdown</a></li>
              <li><a href="#">3rd level dropdown</a></li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </div>
</div>


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

​

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45179589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档