我在页面加载期间打开的导航栏中嵌套了一个下拉菜单,方法是将open
类添加到包含下拉菜单的li
元素。
无论点击什么或用户点击页面,我希望此菜单保持打开状态。我已尝试在Stackoverflow.com上找到类似问题的不同解决方案,但它们都没有工作。它们似乎都涉及阻止点击事件的传播关闭菜单。我正在使用bootstrap v3.3.4。
EDIT 这是菜单布局:
<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>
感谢。
编辑2 DanDavis在评论中的建议是基于我的测试的方法。在这种情况下,处理事件和格式化自己比依赖bootstraps本机格式和功能更容易。
答案 0 :(得分:1)
这只使用css。 working demo
将一个类添加到下拉列表ul(.stay-open)
<ul class="dropdown-menu stay-open">
然后使用!important
应用样式显示块.stay-open {display:block !important;}
答案 1 :(得分:-1)
我假设您正在使用自举下拉列表,请试一试:
$('li.dropdown').on({
"shown.bs.dropdown": function() { this.close = false; },
"click": function() { this.close = true; },
"hide.bs.dropdown": function() { return this.close; }
});
以上实现将在再次单击时隐藏下拉列表。如果你不喜欢这种行为,你可以简单地删除前两行(显示.bs.dropdown并单击事件),然后只为hide.bs.dropdown事件返回false。
这是工作证明bootply
这是一个始终保持开放的工作证明bootply