我想在另一个下拉列表中嵌入一个下拉列表(fiddle):
但是,当您尝试打开父下拉列表时,嵌套下拉列表会关闭父下拉列表。经过一个小时的研究,我尝试按照SO上的一些答案的建议添加e.stopPropagation()
无效。如何在一个下拉列表中正确嵌套?
<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>
答案 0 :(得分: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');
}
});