在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专家。
答案 0 :(得分:3)
我找到了一种方法让它发挥作用(不确定它是更好的方式,欢迎提出意见)
$(function () {
$('ul.dropdown-menu a[data-remote=true]').click(function () {
$(this).closest('ul').prev('button').dropdown('toggle');
});
});