我正在使用像
这样的全局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请求开始时 - 全局处理程序不起作用:(
答案 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();
});