全球ajax处理程序jquery

时间:2012-01-15 20:11:02

标签: javascript jquery ajax

我正在使用像

这样的全局ajax处理程序
$(document).ajaxError(function(e, xhr, settings, exception) { 
});

$(document).ajaxStart(function(e, xhr, settings, exception) {
    $(".spinner").show();
})

$(document).ajaxComplete(function(e, xhr, settings, exception) {
    $(".spinner").hide();   
})

并且效果很好。

但是我有一些内容是由ajax从服务器加载的,而这个内容我正在加载一些javascript,这会产生新的ajax请求。当这个ajax请求开始时 - 全局处理程序不起作用:(

1 个答案:

答案 0 :(得分:1)

描述

您应该使用jQuery的live()on()方法来绑定您的处理程序。这适用于新元素。

如果您使用 jQuery 1.7 ,则应使用.on()方法,否则请使用.live()

示例

<强>住()

$(document).live("ajaxStart", function(e, xhr, settings, exception)  {
    $(".spinner").show();  
});

$(document).live("ajaxComplete", function(e, xhr, settings, exception)  {
    $(".spinner").hide();  
});

在()

$(document).on("ajaxStart", function(e, xhr, settings, exception)  {
    $(".spinner").show();  
});

$(document).on("ajaxComplete", function(e, xhr, settings, exception)  {
    $(".spinner").hide();  
});

更多信息