2014-10-30 78 views
2

內部下拉我想窩下拉內的另一個下拉菜單(fiddle)的:引導嵌套另一個下拉

enter image description here

但是,當您嘗試打開它嵌套下拉關閉父下拉。經過一小時的研究,我嘗試加入e.stopPropagation(),正如一些SO的建議無濟於事。我如何正確地嵌套一個下拉菜單?

<div class="dropdown"> 
    <a class="dropdown-toggle btn btn-info" href="#" data-toggle="dropdown">Dropdown 1</a> 

    <div class="dropdown-menu" style="padding: 10px;min-width:500px;"> 

     <div class="tab-container tab-left"> 
      <ul class="nav nav-tabs flat-tabs"> 
       <li class="active"><a href="#1" data-toggle="tab">Page 1</a></li> 
       <li><a href="#2" data-toggle="tab">Page 2</a></li> 
      </ul> 
      <div class="tab-content" style="border: 0;"> 
       <div class="tab-pane active cont fade in" id="1"> 

        <div class="dropdown"> 
         <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown"> 
         Dropdown 
         <span class="caret"></span> 
         </button> 
         <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1"> 
         <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li> 
         <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li> 
         <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li> 
         <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li> 
         </ul> 
        </div> 

       </div> 
       <div class="tab-pane cont fade" id="2"> 
        <h3 class="hthin">Test Page 2</h3> 
       </div> 
      </div> 
     </div> 

    </div> 
</div> 

回答

1

經過一番搗鼓之後,解決方案是手動打開並關閉下拉菜單。 Fiddle

$('.testLinkOpen').on('click', function (event) { 
    $(this).parent().toggleClass("open"); 
}); 

$(document).on('click', function (e) { 
    if (!$('.parentContainer').is(e.target) && $('.parentContainer').has(e.target).length === 0 && $('.open').has(e.target).length === 0) { 
     $('.parentContainer').removeClass('open'); 
    } 
});