我有以下代码
$(".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'警告,显示模态窗口,等待模态窗口的回答。如果我用取消回答,那么它将显示'b'并进行不希望的重定向。
我发现停止传播在这种情况下不起作用,我不知道为什么。
答案 0 :(得分:1)
有一种简单的方法可以解决这个问题,只需检查目标
即可$('.clickable-row').click(function (e) {
if ( $(e.target).hasClass('btnClose') ) return;
// rest of the code
});