尽管阻止了传播/冒泡,点击处理程序仍会触发

时间:2018-11-23 21:18:01

标签: javascript jquery

对于AJAX表单提交按钮,我具有以下单击处理程序:

$(document).on('click', '[data-ajax-form] [type="submit"]', function (event) {
    event.preventDefault();

    console.log('submit form');
});

我还具有以下单击处理程序以“确认”操作:

$(document).on('click', '[data-confirm]', function (event) {
    if (!confirm($(this).data('confirm').length ? $(this).data('confirm') : 'Are you sure?')) {
        event.preventDefault();
        event.stopPropagation();
        event.stopImmediatePropagation();

        return false;
    }
});

以下是该按钮的HTML:

<form method="POST" data-ajax-form>
    <button type="submit" data-confirm>DELETE</button>
</form>

我的问题是,即使我在确认对话框中单击“取消”,[data-ajax-form] [type="submit"]的单击处理程序仍在触发。

有什么办法可以阻止我吗?

0 个答案:

没有答案