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,它将始终保持打开状态