jquery - Bootstrap 3 在菜单项单击上隐藏下拉菜单

标签 jquery twitter-bootstrap drop-down-menu responsive-design uinavigationbar

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/

相关文章:

仅限 Javascript : Function renders a dropdown and table where the value from the dropdown is needed to filter the table

php - 填充下拉列表从不同的 MySQL 表中获取数据

javascript - 如何使用javascript通过另一个文本框的输入值来更改两个文本框的显示值?

javascript - 选择框计数器

jquery - 在 Bootstrap slider 中水平和垂直居中图像

angularjs - Protractor 获取带有行号的文本区域的值

javascript - load() 按顺序,而不是同时与 jQuery

javascript - 背景在谷歌浏览器的选择输入字段内不起作用

html - Bootstrap : Textarea height shrinked when I apply Bootstrap style to it

jquery - 下拉菜单闪烁,Firefox 除外