2009-12-13 46 views
0

我想知道这是否可能在JavaScript中:我有一个应用程序,主要是在JavaScript中开发。有一些Ajax调用可以获取散布在代码中的html内容。javascript load listener

我想创建一个对象,每当负载函数被调用时进行侦听,并在这种情况下启动一个函数(如显示预加载器)。

我知道有很多加载插件,但他们都需要在每个加载启动的地方添加他们自己的代码。我想保持这种分离,因为它更容易维护。

这可能吗?

回答

1
$('document').ajaxStart(function() { /* show loader */ }); 
$('document').ajaxStop(function() { /* hide loader */ }); 

是不是真的那样简单,几个AJAX调用可以在同一时间进行准备,所以你不要总想为ajaxStop隐藏装载机。你必须创建一个小计数器来跟踪当前的通话情况,但这些都是你想要连接的事件,无论如何,

0

就我而言,我不明白为什么不这样做。如果你只使用XMLHttpRequest,那么你可以创建自己的XMLHttpRequest的处理程序,打开(和/或发送,取决于你打算使用什么),做任何你想要的“加载屏幕”,然后调用原始方法。

您的方法还应该包装调用方提供的onload方法处理程序,以便它可以在文档完成时终止加载屏幕。