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

vag*_*ond 5 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?
      }
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

cle*_*tus 4

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

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

一旦需要,就阻止事件发生,而不是阻止事件发生然后再取消阻止(如果可能的话),这更容易、更符合逻辑。

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

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

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