Twitter Bootstrap 下拉菜单 - onclick 将“open”类放在祖先 ul 而不是子 ul 上

Twitter Bootstrap dropdown menu - onclick puts 'open' class on ancestor ul instead of child ul

本文关键字:ul 祖先 下拉菜单 Bootstrap onclick open Twitter      更新时间:2023-09-26
这是我

的问题,我正在尝试帮助朋友进行推特引导更新 - 特别是导航栏。当我单击具有下拉菜单的项目时,菜单无法打开。

我的问题是下拉菜单无法打开。我的调查表明,引导程序的javascript将开放类应用于错误的ul,并且下拉列表从未出现过。

我已经按照 http://twitter.github.com/bootstrap/javascript.html#dropdowns 上的说明进行了设置。据我所知,一切都设置正确。

我已经导出了一个自定义引导程序,其中包含下拉列表。

该页面在 JavaScript 控制台中运行且没有错误。

根据我的调查,我发现当您单击"打印"(有一个下拉列表)时,它实际上会转到ul.level-0.nav并添加类"open"。这是一个问题,因为它实际上需要将该类应用于 a.dropdown-menu。

请参阅此处的结构:

ul.level-0.nav
   li.dropdown
       a.dropdown-toggle
       ul.dropdown-menu

所以为了复制问题,

第 1 步:在铬中 http://jsfiddle.net/uGGgS/1/

第 2 步:打开你的 chrome 对象检查器(如果你在 Firefox 中,或者如果你在 IE 中,则打开 firebug,然后下载 chrome 并因使用 IE 而打自己一巴掌)

步骤 3:向下钻取到li.haschild.dropdown a:contains('print')

步骤4:点击 打印 菜单项,并注意到ul.level-0.nav现在具有"打开"类。另请注意,没有显示下拉菜单:(

第 5 步:将类open添加到打印下方的 ul.dropdown-切换中,并注意到下拉列表出现。

这里有人知道我做错了什么吗?我已经在页面上进行了 w3c 验证,它没有表明 html 页面具有未关闭标签的错误。

谢谢。

从我的测试中,我注意到包含在文档中的旧版本的bootstrap.min.js与您的标记冲突,并将其更新到最新修复了该问题。