javascript - 如何使用 JQuery 停止然后启动/触发事件?

标签 javascript jquery

我试图在单击链接时停止默认操作。然后我要求确认,如果确认我想继续事件。我该怎么做呢?我可以停止事件,但无法开始。这是我到目前为止所拥有的:

$(document).ready(function(){
  $(".del").click(function(event) {
    event.preventDefault();
    if (confirm('Are you sure to delete this?')) {
      if (event.isDefaultPrevented()) {
        //let the event fire. how?
      }
    }
  });
});

最佳答案

无需阻止默认启动。只需这样做:

$(function() {
  $(".del").click(function(evt) {
    if (!confirm("Are you sure you want to delete this?")) {
      evt.preventDefault();
    }
  });
});

在需要时阻止事件比阻止它然后取消阻止(如果可能的话)更容易和更合乎逻辑。

请记住,当向用户显示确认框时,代码将停止运行,直到用户选择“确定”或“取消”。

顺便看看JavaScript: event.preventDefault() vs return false .根据您是否要停止事件传播,您可能需要调用 stopPropagation()return false:

$(function() {
  $(".del").click(function(evt) {
    if (!confirm("Are you sure you want to delete this?")) {
      return false;
    }
  });
});

关于javascript - 如何使用 JQuery 停止然后启动/触发事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2131011/

相关文章:

javascript - 具有 jQuery 动态表单的单个 div 中的多个文本字段

javascript - 如何根据 JavaScript 中的值检查对象是否在数组中?

javascript - 我如何获得输入以不断增加值(value)

javascript - 如何保持一次显示一个悬停?

jQuery:将 hashchange 与点击功能相结合

javascript - jQuery 替换无效字符

javascript - 在 asp.net mvc 中显示来自 Controller 操作的 javascript 警报

javascript - mysql 数据库中的事件未按 ID 显示

javascript - AngularJS ng-switch-trigger 在它自己的 ng-switch-wrapper 中

javascript - 是否可以在 JQuery 中获取 div 元素位置