Twitter Bootstrap多个下拉菜单不起作用

问题描述:

我在使用Twitter Bootstrap下拉菜单时遇到问题。第一个下拉菜单起作用,但其他所有菜单都不起作用。我发现这篇文章:Bootstrap 2.1.1 dropdowns not working properly,但这是直接从twitter引导网站编码复制,并且在我升级到2.0之前它工作。Twitter Bootstrap多个下拉菜单不起作用

这里有一个链接的jsfiddle http://jsfiddle.net/unWCN/

的问题存在于你的data-target属性。他们应该指向特定的下拉母公司,或者如果您使用默认标记,则指向#

如果设置为data-target="#"下拉togglers,你的代码工作正常:jsfiddle

注:如果data-target属性不存在,则href将被使用。检查the plugin doc

+0

感谢这工作。 – Hersha

这看起来与Bootstrap 2.1.0中的known bug有关的data-target属性,并且可能在下一个版本中修复。

与此同时,您可以应用其中一个用户提交的修复程序。这将涉及修改js/bootstrap-dropdown.js中的clearMenus函数。

Fix by SoapSeller:

function clearMenus() { 
    $(toggle).parent().removeClass('open') 
} 

Fix by erlendfh:

function clearMenus() { 
    $(toggle).each(function() { 
     getParent($(this)).removeClass("open") 
    }) 
} 

我没有亲自测试其中任意一个,但SoapSeller联beforeafter jsFiddles这说明他的解决方案。

+0

如果你保留默认的'data-target =“#”',那么它确实有效,你应该提到这个解决方法,使用默认标记更简单。 – Sherbrow

+0

感谢有关错误的信息。很高兴知道我没有做一些愚蠢的事情。 :) – Hersha