8

当ajax像这样开始时,我试图显示blockui:

 // block when ajax activity starts
    $(document).ajaxStart($.blockUI({ message: '<h1><img src="busy.gif" /> Just a moment...</h1>' }));

然后我想停止它

 // unblock when ajax activity stops 
    $(document).ajaxStop($.unblockUI); 

问题是执行ajax时它不会加载我做错了什么?

4

2 回答 2

7

我认为您需要像这样更改它:

$(document).ajaxStart(function () {
  $.blockUI({ message: '<h1><img src="busy.gif" /> Just a moment...</h1>' });
});

当您需要将参数传递给要绑定的函数时,您应该使用匿名函数,然后在其中调用您的方法。$.blockUI() 返回的东西是不可调用的,所以以这种方式绑定它是行不通的。

于 2010-06-15T18:23:12.893 回答
2

根据jQuery 文档

每当要发送 Ajax 请求时,jQuery 都会检查是否还有其他未完成的 Ajax 请求。如果没有进行中,jQuery 会触发 ajaxStart 事件。此时会执行已使用 .ajaxStart() 方法注册的所有处理程序。

那么也许您有其他 AJAX 请求阻止此事件触发?

于 2010-06-15T18:23:32.887 回答