我的导航栏右侧有一个下拉菜单。在移动设备上,然后单击切换按钮(3个条),将显示菜单,图标将消失。
问题是当我点击页面上的其他地方时(例如:虚拟文本),菜单消失,图标仍然隐藏。
我该怎么做才能解决这个问题?
可以在https://jsfiddle.net/2eqd8wra/
上找到一个示例Thank you for your answers
答案 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();
}
});
此功能触发单击导航栏按钮,解决了我的问题
感谢所有试图帮助我的人