Check out the fiddle 。我有一个基本的 Bootstrap 3 响应式导航,如下所示:
<div id="navbar" class="navbar navbar-fixed-top navbar-inverse">
<div class="container">
<a id="navbar-toggle" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="navbar-brand" href="#">Title Title Title</a>
<div id="nav-collapse" class="nav-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="#option1">Option 1</a></li>
<li><a href="#option2">Option 2</a></li>
<li><a href="#option3">Option 3</a></li>
</ul>
</div>
</div>
</div>
导航项链接到页面上的部分,而不是不同的页面,因此我需要下拉菜单在点击时隐藏。
每当我尝试使用 jQuery 手动切换下拉菜单时,它都会弄乱下拉切换按钮的 future 功能:
$("#navbar li a").click(function(event) {
// check if window is small enough so dropdown is created
$("#navbar-toggle").is(":visible")
$("#nav-collapse").toggle();
});
有更好的解决办法吗?
最佳答案
如果您想在没有 JavaScript 的情况下执行此操作,您可以简单地将数据目标和数据切换添加到每个列表项,如下所示:
<li data-toggle="collapse" data-target=".nav-collapse"><a href="#option1">Option 1</a></li>
<li data-toggle="collapse" data-target=".nav-collapse"><a href="#option2">Option 2</a></li>
<li data-toggle="collapse" data-target=".nav-collapse"><a href="#option3">Option 3</a></li>
对于导航栏,这实际上仅在有切换按钮的移动 View 模式下有效。当导航栏暴露时会发生奇怪的事情(切换按钮不显示)。
关于jquery - Bootstrap 3 在菜单项单击上隐藏下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153745/