假设,我有一个js文件,看起来像这样:
$(document).ready(function() { // first task} ); $(document).ready(function() { // second task } ); $(document).ready(function() { // third task } );
加载文件时,任务按顺序执行。我不明白为什么?
我猜,当“准备就绪”事件发生时,触发回调方法。如何保留执行顺序?连续的回呼是否在某个地方排队?
解决方法
您的处理程序正在
pushed into an array(
readyList
)执行
in order later,当文档
is ready。
readyList.push( fn );
And executed when ready like this:
var fn,i = 0; while ( (fn = readyList[ i++ ]) ) { fn.call( document,jQuery ); }
如果文档已经准备好,那么它们将立即执行,这仍然是有序的。