返回确认仍在执行

时间:2014-01-13 13:35:22

标签: javascript jquery

我使用以下内容作为删除按钮,虽然我收到了确认消息,如果我点击取消它仍然可以使用它:

<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();
    });

1 个答案:

答案 0 :(得分:2)

这是一个万无一失的答案:

$('.deleteList').on('click', function( event ) {
    event.preventDefault()
    event.stopImmediatePropagation(); //de Added by @crush
    return confirm("are you sure?")
})

然后删除onclick="..."

截至更新后的问题,整个问题不同。现在问题是对confirm()的无效使用以及$.ajax()可能存在的异步问题。