我使用以下内容作为删除按钮,虽然我收到了确认消息,如果我点击取消它仍然可以使用它:
<a onclick="return confirm('are you sure?')" class="btn btn-default btn-sm deleteList" href="#" list_id="1467" title="Delete your list: listName">Delete</a>
有什么明显的吗?
更新:
这附加到jquery点击功能,因此如果取消停止后续链接,我该如何阻止点击处理程序触发?
更新2
还在点击处理程序的开始尝试但同样的问题:
$('.deleteList').on('click', function(e) {
confirm('are you sure?');
var list_id = $(this).attr("list_id");
$.ajax({
context: this,
type: "POST",
url: '/ajax/actions/deleteList.php?listId=' + list_id,
success: function (data) {
var d = $.now();
window.location.href = "/pages/dashboard?listDelete=" + d + "#mylists";
}
}); // End .ajax
e.preventDefault();
});
答案 0 :(得分:2)
这是一个万无一失的答案:
$('.deleteList').on('click', function( event ) {
event.preventDefault()
event.stopImmediatePropagation(); //de Added by @crush
return confirm("are you sure?")
})
然后删除onclick="..."
。
截至更新后的问题,整个问题不同。现在问题是对confirm()
的无效使用以及$.ajax()
可能存在的异步问题。