当点击下拉列表中的按钮而不关闭它时,触发AJAX操作
trigger AJAX action when click on button inside dropdown without closing it
正如你可能知道的,twitter引导程序中的任何操作都会导致下拉列表关闭,除非使用:
$('.dropdown-menu').click(function(event){
event.stopPropagation();
})
不幸的是,event.stopPropagation()
也停止了ajax查询
我想要实现的是,当你在FB上收到一个朋友请求,并且在下拉列表中接受/拒绝而不关闭时
你能帮我吗?
只需将ajax调用放在event.stopPropagation
调用之后。
在这种情况下,单击应该在$('.dropdown-menu > li > a')
元素上。请参阅下面的示例。
/**** Ignore this command - just used to mock up an ajax response **/
$.mockjax({
url: '/likethis',
responseTime: 1000,
responseText: {
status: 'success',
fbStatus: 'liked'
}
});
$('.dropdown-menu > li > a').click(function(event){
event.stopPropagation();
$.ajax({ url: '/likethis',
success: function() {
$('#likelink').html('<span class="glyphicon glyphicon-ok"></span> Liked!');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-mockjax/1.5.3/jquery.mockjax.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet"/>
<!-- Single button -->
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
Like This <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#" id="likelink">Like</a></li>
</ul>
</div>
相关文章:
- 在HTML表中插入时立即触发操作
- 为什么在Redux存储中使用字符串而不是直接方法调用来触发操作
- 在以编程方式更改为输入值时触发操作
- 更改元素的 ID 后无法触发操作
- 使用单选按钮触发操作
- 如何以编程方式触发操作
- 当任何谷歌地图事件被触发时,如何触发操作
- 如何在收到并操纵 firebase-web 结果后触发操作
- 无法在通过 jquery 选择选项时触发操作
- 弹出窗口触发操作后视图未刷新
- 如何在弹出后正确触发操作
- 返回false不起作用,单击h:commandButton将触发操作
- 如何检测没有't触发操作状态
- document.cookie更改时触发操作
- Javascript/jQuery-只在鼠标移动时触发操作
- 如何在加载HTML 2分钟后无需点击即可通过ajax自动触发操作
- 选择文件时自动提交上传表单,并触发操作
- 如何在Select2中显示结果后触发操作?
- 通过关注URL栏触发操作
- 触发操作的回流错误