Bootstrap 3:当我点击其他位置时,导航栏下拉菜单不会消失

时间:2017-02-03 03:57:58

标签: jquery html css twitter-bootstrap twitter-bootstrap-3

我的导航栏右侧有一个下拉菜单。在移动设备上,然后单击切换按钮(3个条),将显示菜单,图标将消失。

问题是当我点击页面上的其他地方时(例如:虚拟文本),菜单消失,图标仍然隐藏。

我该怎么做才能解决这个问题?

可以在https://jsfiddle.net/2eqd8wra/

上找到一个示例
Thank you for your answers

2 个答案:

答案 0 :(得分:0)

.....问题是当我点击页面上的其他地方时(例如:虚拟文本),菜单消失,图标仍然隐藏.....

通过参考w3school,使用此代码,它将解决问题:

<nav class="navbar navbar-inverse">
        <div class="container-fluid">
          <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>                        
            </button>
            <a class="navbar-brand" href="#"> My Brand</a>
          </div>
          <div class="collapse navbar-collapse" id="myNavbar">
            <ul class="nav navbar-nav">
              <li class="active"><a href="#">Home</a></li>
              <li class="dropdown">
                <a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1 <span class="caret"></span></a>
                <ul class="dropdown-menu">
                  <li><a href="#">Page 1-1</a></li>
                  <li><a href="#">Page 1-2</a></li>
                  <li><a href="#">Page 1-3</a></li>
                </ul>
              </li>
              <li><a href="#">Page 2</a></li>
              <li><a href="#">Page 3</a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
              <li><a href="#"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
              <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
            </ul>
        </div>
      </div>
    </nav>

答案 1 :(得分:0)

我的问题是,当我在导航栏外单击时,我想动态关闭下拉菜单,我能够通过添加jquery函数来解决这个问题

$('#main-container').click(function (event) {

var _opened = $(".navbar-collapse").hasClass("navbar-collapse") && $(".navbar-collapse").hasClass("in");
if (_opened === true && !($(event.target).hasClass("navbar-toggle"))) {
  $("button.navbar-toggle").click();
}
});

此功能触发单击导航栏按钮,解决了我的问题

感谢所有试图帮助我的人