javascript - 如何拦截 <button> 标签上的点击并停止提交?

标签 javascript jquery html button confirm

我有一个带有一些按钮标签的表单,其中一个是删除按钮。我想拦截点击并要求确认。 我可以用下面的代码拦截它,但无论我回答什么,它都会处理。

HTML:

<button type=submit id=mydelbuttonid value=delete name=deletebutton>Delete</button>

jQuery:

$('button#mydelbuttonid').on("click", function(e) {
  if (confirm('Are you sure you want to delete this record?')) {
    alert('deleting');
  }
  else {
    alert('not deleting');
    event.preventDefault();
    return false;
  }
});

我收到了正确的警报,但记录还是被删除了。

有人知道如何解决这个问题吗?我在网上搜索了很长一段时间,找到了很多<a>的解决方案。标签,但没有 <button> 的标签标签。

最佳答案

正如 @A.Wolff 正确指出的那样,e !== event...

event 更改为 e 或反之亦然将允许 preventDefault 实际触发(之后返回 false 变得多余)。

$('button#mydelbuttonid').on("click", function(e) {
  if (confirm('Are you sure you want to delete this record?')) {
    alert('deleting');
  }
  else {
    alert('not deleting');
    e.preventDefault();
    /*return false;*/
  }
})

关于javascript - 如何拦截 <button> 标签上的点击并停止提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35652380/

相关文章:

javascript - 将工作表之间的数据复制到特定行

jquery - 如何将 DOM 附加到 Angular 2 组件并仍然获得封装样式

javascript - 如何删除文本而不影响子元素?

javascript - 使用 javascript 返回值作为 php 代码的输入

javascript - 如何检查另一个字符串点之前的字符串点?

javascript - 使用 Jquery 检索链接

javascript - 如何在Python应用程序中显示网站

javascript - 如何从 php 服务器获取带有 $.ajax 的 zip

html - 仅单元格之间的单元格间距

带有不会溢出的侧边栏的 html 布局(没有侧边栏)