簡體   English   中英

[Bootstrap]-將Dropdown與Collapse一起使用時的奇怪行為

[英][Bootstrap]- Odd behavior when Dropdown used with Collapse

對於使用Bootstrap進行的開發,我是一個新手,我一直在嘗試創建一個具有可折疊功能的下拉菜單,以便具有該下拉菜單的任何子項都可以顯示在可折疊容器中。

我在網上找到了一些代碼,這些代碼幾乎可以解釋我要完成的工作: https : //www.bootply.com/1u6VW4bsrR

我試圖寫下幾行HTML代碼來完成與上述類似的操作:

<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>

Codepen鏈接: https ://codepen.io/anon/pen/weLKzp/ editors = 1010

但這給我帶來了困難。 我注意到了兩種特定的行為:

  1. 當我單擊下拉菜單時,然后單擊可折疊div(HTML)之后,下拉菜單將消失。 當再次單擊下拉菜單時,它會顯示出來。
  2. 當顯示下拉列表具有可折疊的div時,不會出現帶有可折疊面板主體的所有子項目。

您能幫我弄清楚需要進行哪些更改以及我做錯了什么嗎? 任何指針表示贊賞。

謝謝!

在此示例中,我為多層下拉列表創建了一個.dropdown-submenu類。

請注意,我添加了jQuery以在單擊時打開多級下拉列表。

 .dropdown-submenu { position: relative; } .dropdown-submenu .dropdown-menu { top: 0; left: 100%; margin-top: -1px; } 
 <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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM