无论如何,在Navbar中保持Bootstrap Dropdown处于打开状态

Nin*_*omb 5 javascript css jquery twitter-bootstrap twitter-bootstrap-3

我在页面加载期间打开的导航栏中嵌套了一个下拉菜单,方法是将该open类添加到li包含该下拉菜单的元素中。

我希望此菜单保持打开状态,无论单击什么或用户在页面上单击的位置如何。我已经尝试过在Stackoverflow.com上找到不同的解决方案来解决类似的问题,但是它们都不起作用。它们似乎都涉及阻止单击事件的传播以关闭菜单。我正在使用bootstrap v3.3.4。

编辑这是菜单布局:

<div id="navbar" class="navbar-collapse collapse">
    <ul class="nav navbar-nav">

        <li><a href="#" style="color:white;">menu1</a></li>

        <li class="dropdown open">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" id="catalogmenu" aria-expanded="false" style="color:white;">menu 2 <span class="caret"></span></a>
            <ul class="dropdown-menu" role="menu">
                <li><a href="#">Action</a></li>
                <li><a href="#">Another action</a></li>
                <li><a href="#">Something else here</a></li>
                <li class="divider"></li>
                <li class="dropdown-header">Nav header</li>
                <li><a href="#">Separated link</a></li>
                <li><a href="#">One more separated link</a></li>
            </ul>
        </li>

        <li><a href="#" style="color:white;">menu3</a></li>

        <li><a href="#" style="color:white;">menu4</a></li>

        <li><a href="#" style="color:white;">menu5</a></li>
    </ul>
    <div class="navbar-form navbar-right">
        <div class="input-group">
            <input type="text" class="form-control" style="width:310px" placeholder="Search" aria-describedby="basic-addon2">
            <span class="input-group-addon" id="basic-addon2">go</span>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

谢谢。

编辑2评论中的DanDavis建议是基于我的测试的方法。在这种情况下,自己处理事件和格式化要比依靠引导程序本机格式化和功能要容易。

Ami*_*mir -2

我假设您正在使用引导下拉菜单,请尝试一下:

$('li.dropdown').on({
    "shown.bs.dropdown": function() { this.close = false; },
    "click":             function() { this.close = true; },
    "hide.bs.dropdown":  function() { return this.close; }
});
Run Code Online (Sandbox Code Playgroud)

上面的实现将在再次单击时隐藏下拉列表。如果您不喜欢这种行为,您可以简单地删除前两行(shown.bs.dropdown 和 click 事件)并简单地为 hide.bs.dropdown 事件返回 false。

这是bootply 的工作证明

这是一个工作证明bootply,它将始终保持打开状态