jquery - 嵌套 Bootstrap 3.1.1 崩溃

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

您好,我想知道是否有人可以提供帮助。我正在使用 Bootstrap 3.1.1 并为 sidenav 使用嵌套折叠菜单。我想为打开的菜单添加背景色(使用类),并在关闭菜单时移除背景色。

这工作正常,但是当我有嵌套菜单时,我正在使用的代码在关闭子菜单时删除了父项的背景色,我不知道如何只删除背景色,如果它是顶级菜单关闭。因此,如果它是子菜单,则在关闭子菜单时不应删除背景颜色。

$(".nav-sidenav > li").on("show.bs.collapse", function () {
    $(this).addClass("sidenav-active-background");
});
$(".nav-sidenav > li").on("hide.bs.collapse", function () {
    $(this).removeClass("sidenav-active-background");
});

请参阅JSFiddle

最佳答案

首先,您需要删除隐藏的“>”。这将使它覆盖导航中的所有列表项。然后你需要在回调函数中添加'e'。最后添加 e.stopPropagation() 防止父元素在事件中触发并删除类。

来自

 $(".nav-sidenav > li").on("hide.bs.collapse", function () {
  $(this).removeClass("sidenav-active-background");
 });

$(".nav-sidenav li").on("hide.bs.collapse", function (e) {
  e.stopPropagation();
  $(this).removeClass("sidenav-active-background");
});

http://jsfiddle.net/clurect/TF2Tg/1/

一些提示:我使用 hidden.bs.collapse 来实现视觉美感。您还可以进行检查以确保事件触发了哪个列表项。

关于jquery - 嵌套 Bootstrap 3.1.1 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22661436/

相关文章:

javascript - 将鼠标悬停在一个 div 上以显示某个类的最近 div

jquery:删除指针光标?

jquery - 将类更改为标签,其中标签之间的类 ="xy"

jquery datepicker - 覆盖数据属性中的选项

用于将页面标题显示为选定子菜单项的 HTML 结构

javascript - html 输入元素仍然使用 "disabled"样式,通过 javascript 删除 "disabled"属性后

javascript - 单页点导航

javascript - 表单序列化总是返回空字符串

javascript - 根据当前幻灯片删除 "Previous"和 "Next"

php - 具有动态相关文件的源代码编辑器可发现Dreamweaver等