我正在使用rails中的bootstrap下拉列表,它突然停止工作。如果我像$('a.dropdown-toggle').click()
那样手动提升链接上的点击事件,它可以正常工作,但如果我实际点击它就没有任何反应。
如果我使用jQuery(例如$('a.dropdown-toggle').click(function(){alert('foo');})
)附加点击处理程序,那么当我点击链接时会触发。
这是因为事件被某些东西吞噬了吗?有没有办法弄明白它是什么?
我无法在jsFiddle类型的环境中重现错误,但这里是相关的html:
<li class="profile">
<div class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<i class="glyphicon glyphicon-user"></i>
Ben
</a>
<ul class="dropdown-menu pull-right" role="menu" aria-labelledby="User">
<li><a href="/users/edit.5399e28681f150251b000001"><i class="glyphicon glyphicon-edit"></i> Edit Account</a></li>
<li><a href="/users/sign_out" data-method="delete" rel="nofollow"><i class="glyphicon glyphicon-log-out"></i> Logout</a></li>
<li class="divider"></li>
<li role="presentation" class="dropdown-header">Admin</li>
<li><a href="/#providers"><i class="glyphicon glyphicon-plus"></i> Providers</a></li>
<li><a href="/admin/patients"><i class="glyphicon glyphicon-eye-open"></i> Patients</a></li>
<li><a href="/admin/users"><i class="glyphicon glyphicon-user"></i> Users</a></li>
<li><a href="/logs/index"><i class="glyphicon glyphicon-list-alt"></i> Logs</a></li>
</ul>
</div>
</li>
更新:我发现如果我在页面加载后几秒钟调用$('a.dropdown-toggle').dropdown()
它可以正常工作,但是如果我在页面加载时调用它就不行。我的手风琴也有类似的问题 - 它们可以下拉但除非你手动调用click事件,否则它们不会关闭。所以我现在猜测它是由于吞下点击事件的东西,但我无法弄清楚是什么。
答案 0 :(得分:0)
您可以将dropdown
类添加到li
元素
并删除<div class="dropdown">
希望能提供帮助:)