如何使用确认停止执行javascript?

时间:2016-07-05 08:33:51

标签: javascript asp.net-mvc-5

如果用户没有在确认窗口点击“是”,我需要帮助防止按钮点击工作,这适用于提交,但是当它存在时它似乎没有任何效果单击按钮时运行的javascript。

按钮:

<input type="button" value="Delete" class="deleteResource btn btn-link NoBorder NoBackGround" data-id="@resource.Id" data-url="@Url.Action("DeleteResource")" data-confirm="are you sure?" />

javascript:

    jQuery(document).ready(function () {
        jQuery('[data-confirm]').click(function (e) {
            if (!confirm(jQuery(this).attr("data-confirm"))) {
                e.preventDefault();
                e.stopPropagation();
            }
        });
    });

    jQuery(document).ready(function() {
    jQuery('.deleteResource').click(function() {
        var id = $(this).data('id');
        var url = $(this).data('url');
        var param = { id: id }
        $.post(url, param, function (data) {
            if (data) {
                location.reload();
            } else {
                alert("Kunde inte utföra åtgärden.");
            }
        });
    });
});

我错过了什么或者这是不可能的吗?

2 个答案:

答案 0 :(得分:0)

jQuery(document).ready(function() {
    jQuery('.deleteResource').click(function() {
        if (confirm(jQuery(this).attr("data-confirm"))) {
            var id = $(this).data('id');
            var url = $(this).data('url');
            var param = { id: id }
            $.post(url, param, function (data) {
                if (data) {
                    location.reload();
                } else {
                    alert("Kunde inte utföra åtgärden.");
                }
            }
        });
    });
});

答案 1 :(得分:0)

您需要stopImmediatePropagation来阻止同一元素上的其他处理程序被执行。