启动子菜单打开另一个子菜单时不会关闭前一个子菜单
Bootstrap sub menu doesn't close previous submenu when opening another
我使用Bootstrap 3.1.1和下拉菜单-我已经建立了一个下拉菜单与子菜单。每个菜单打开和关闭点击,但问题是,如果我打开一个子菜单,然后打开另一个子菜单的第一个子菜单仍然打开。我希望任何打开的子菜单在打开另一个菜单时关闭。
我正在使用这个为我的菜单和子菜单:
$(document).ready(function() {
$('.dropdown-toggle').dropdown();
$('.dropdown-submenu>a').unbind('click').click(function(e){
$(this).next('ul').toggle();
e.stopPropagation();
e.preventDefault();
});
});
然后是我的HTML:
<li class="dropdown" id="menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Menu <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/item1">Item 1</a></li>
<li class="dropdown-submenu"><a href="#" data-toggle="dropdown">Submenu 1</a>
<ul class="dropdown-menu">
<li><a class="submenu-open" href="/subitem1">Subitem 1</a></li>
</ul>
</li>
</ul>
</li>
如何使子菜单关闭打开另一个菜单?
http://jsfiddle.net/ue7cw513/2/我明白了-我只是隐藏了所有的子菜单ul点击一个新的子菜单:
$('.dropdown-submenu>ul').hide();
所以现在的代码是:
$('.dropdown-submenu>a').unbind('click').click(function(e){
$('.dropdown-submenu>ul').hide();
$(this).next('ul').toggle();
e.stopPropagation();
e.preventDefault();
});
您可以在打开选定菜单之前隐藏其他子菜单:
$('.dropdown-submenu>a').unbind('click').click(function(e){
$('.dropdown-submenu>ul.dropdown-menu').hide();
$(this).next('ul').toggle();
e.stopPropagation();
e.preventDefault();
});
相关文章:
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- 尝试创建一个具有z-index的堆叠菜单'使用HTML5/CSS3/JS
- 使用Jquery创建一个具有单击和悬停功能的菜单
- jQuery(“ul.sf菜单”).superfish不是一个函数
- 如何激活下拉菜单:在一个元素上单击768px宽度下方,在另一个元素上将鼠标悬停在768px上方
- 正在读取<p: 选择一个菜单/>在onchange回调中
- 在javascript中动态添加一个选择下拉菜单
- Asp.net 引导下拉菜单 - 选择一个项目
- 处理一个项目,想要添加以下菜单栏,并尽量减少向下滑动
- 下一个下拉菜单不能具有已在另一个下拉菜单中使用的值
- Bootstrap下拉菜单中的复选框允许多个复选框而不是一个
- 单击“下一个”和“上一个”时,如何从导航菜单中添加和删除类
- 使用jquery克隆一个选择菜单
- 如何创建根据另一个下拉菜单中的答案显示的下拉菜单
- 如何使用引导程序显示另一个导航栏而不是下拉菜单
- 禁用数据自动关闭下拉列表基金会只需在一个菜单中
- Jquery下拉菜单位于幻灯片上方的一个显示位置
- 如何更改此按钮/菜单列表,以便一次只能看到一个菜单
- 多个选择菜单一个数据源