如何延迟默认动作?

时间:2009-09-27 01:48:30

标签: jquery ajax

在jquery中,我需要延迟锚点的默认行为,以便在此期间,ajax post请求可以自行完成。

preventDefault或在.click事件中返回false不会,因为我仍然需要导航到那些页面。 window.location = href明显失败,因为一些锚没有href属性而是使用javascript。我不控制这些页面。

2 个答案:

答案 0 :(得分:1)

您只需在ajax function for jQuery本身

中使用“成功”回调即可
 $.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&location=Boston",
   success: function(msg){
     // do what you need to here

     return true;
   }
 });

然后它会等到Ajax完成后再转到成功回调

答案 1 :(得分:0)

如果某些锚没有href,我想你将无法改变他们的行为。对于其余部分,只需在click事件上使用超时并获取href,以便在超时结束后使用其回调函数重定向。