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

时间:2010-01-25 08:22:51

标签: 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?
      }
    }
  });
});

2 个答案:

答案 0 :(得分:4)

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

$(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;
    }
  });
});

答案 1 :(得分:2)

更好地返回confirm()

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