jquery - Bootstrap 将一个下拉菜单嵌套在另一个下拉菜单中

标签 jquery html css twitter-bootstrap

我想在另一个下拉列表中嵌套一个下拉列表 ( fiddle ):

enter image description here

但是,当您尝试打开嵌套下拉菜单时,它会关闭父下拉菜单。经过一个小时的研究,我尝试按照 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>

最佳答案

经过一些摆弄后,解决方案是手动打开和关闭下拉菜单。 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');
    }
});

关于jquery - Bootstrap 将一个下拉菜单嵌套在另一个下拉菜单中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26645609/

相关文章:

jquery - 当我创建 jQuery 插件时,最好在需要时包含 Modernizr 吗?

css - 如何在背景保持不变的情况下使 div 内容滚动

html - 漏洞 : Bootstrap Modal Box

html - @media print 打印不正确

css - RECESS 更改属性的顺序

javascript - 如何防止在正文内容上滚动并在打开时启用在 Canvas 外导航上滚动?

javascript - 使用输入 radio 显示/隐藏图像

jquery - 如何使用纯 jQuery 延迟移除字段焦点?

css - 将大写文本转换为小写,CSS 中的第一个字母除外

javascript - 如何创建交错的新闻线索?