下拉菜单中的远程链接可防止菜单切换

时间:2014-04-26 23:19:50

标签: ruby-on-rails drop-down-menu twitter-bootstrap-3

在rails应用程序中,我使用Bootstrap 3及其下拉菜单。

当我在内部使用远程链接时,在ajax调用后,下拉列表不会切换为普通链接,它只是保持打开状态。这是标记:

<div class="btn-group">
  <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button">Moderation<span class="caret"></span>
  </button>
  <ul class="dropdown-menu" role="menu">
    <li>
      <a class="test" data-method="post" data-remote="true" href="/admin/entries/1/accept" rel="nofollow">Accept</a>
    </li>
    <li>
      <a class="test" data-method="post" data-remote="true" href="/admin/entries/1/refuse" rel="nofollow">Refuse</a>
    </li>
  </ul>
</div>

我怀疑它与如何在rails ujs中捕获事件有关,但我不是javascript专家。

1 个答案:

答案 0 :(得分:3)

我找到了一种方法让它发挥作用(不确定它是更好的方式,欢迎提出意见)

$(function () {
    $('ul.dropdown-menu a[data-remote=true]').click(function () {
        $(this).closest('ul').prev('button').dropdown('toggle');
    });
});