如何停止传播
How to stop the propagation?
我有以下代码
$(".btnClose").click(function (e) {
alert('a');
e.stopPropagation();
e.preventDefault();
var targetUrl = $(this).attr("href");
$('#modal-a').modal();
$("#modal-a .btn-danger").click(function () {
window.location.href = targetUrl;
});
});
$('.clickable-row').click(function () {
alert('b');
var formId = ...;
var locked = ...
if (locked == false) {
document.location = "a/" + formId;
}
else {
document.location = "b/" + formId;
}
});
<tr class="clickable-row">
<td><a class="btnClose" href="/c?FormId=40">Close</a></td>
</tr>
问题是,当我点击任何按钮与btnClose类,它提醒'a',显示模态窗口,等待模态窗口的答案。如果我用cancel回答,那么它将显示'b'并进行不希望的重定向。
我看到stop propagation在这种情况下不起作用,我不知道为什么。
有一个简单的方法可以解决这个问题,只需检查目标
$('.clickable-row').click(function (e) {
if ( $(e.target).hasClass('btnClose') ) return;
// rest of the code
});
相关文章:
- Twitter引导程序在下拉列表打开时停止传播
- 如何在首次使用jQuery点击后停止函数传播
- AngularJS Linky过滤器停止传播
- 停止jquery中元素上的事件传播
- 为什么不'不要停止这小提琴里的即时传播工作
- 同一元素上的多个事件,停止立即传播
- 停止点击事件传播
- 停止蓝鸟承诺中的错误传播
- 我可以停止某个函数上的事件传播吗
- AngularJS:如何通过点击停止事件传播
- 正在停止对多个悬停事件的传播
- 如何在使用ng repeat时停止传播(或者如何更好地隔离作用域)
- 控制台:引用错误:未定义停止传播
- 在Chrome和IE中停止传播
- 如何在 Javascript 中停止传播
- 停止自动回发复选框的事件传播
- 用于停止事件传播的 jQuery UI 滑块
- 停止传单事件传播
- 如何传播主干停止监听以防止内存泄漏
- 缩放事件传播未停止