1

我有一个按钮(在下面的haml中):

%button{ class: 'remove-fields', data: { confirm: "Are you sure?" } }
    Remove

按下时会运行一些javascript代码:

    $('.edit-profile').on('click', '.remove-fields', function(event) {
    // my code here...
    event.preventDefault();
});

我的代码似乎在“您确定”提示出现之前执行,因此按下取消按钮没有任何效果。

我可以在网上找到的所有内容都是指使用按钮提交表单(其中 data-confirm 属性按预期工作),但我使用按钮来调用代码。有没有办法使用 UJS 取消代码执行?

4

1 回答 1

1

您可能需要 jQuery 的stopImmediatePropagation.

描述:阻止其余的处理程序被执行,并防止事件在 DOM 树中冒泡。
$('.edit-profile').on('click', '.remove-fields', function(event) {
  // my code here...
  event.preventDefault();
  event.stopImmediatePropagation();
});
于 2013-08-06T23:26:27.030 回答