Bootstrap下拉列表无法正常工作

时间:2014-06-16 23:30:48

标签: javascript twitter-bootstrap drop-down-menu

我正在使用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事件,否则它们不会关闭。所以我现在猜测它是由于吞下点击事件的东西,但我无法弄清楚是什么。

1 个答案:

答案 0 :(得分:0)

您可以将dropdown类添加到li元素

并删除<div class="dropdown">

希望能提供帮助:)