一個aspx頁面通常可以包含其它ascx控件,如果在多人協同開發的情況下:程序員小張在控件A.ascx中使用了 $().ready(function{}),而程序員小王又在控件B.ascx中也使用了ready函數,程序員小李在做頁面時,把A.ascx,B.ascx都拖到自己的頁面中,然後在頁面中也需要用到$().ready函數,這下好了:
雖然jQuery本身的設計還算不錯,document加載完成後會依次觸發各個ready中定義的function(這一點很好,不象javascript中默認後面的同名函數會覆蓋前面的函數定義),但是如果某個程序員希望自己的ready部分先執行(或者這三個程序員各自的ready處理有嚴格先後順序時),這個怎麼辦呢?
其實這個也不難,可以利用setTimeOut讓某個程序員的ready部分延時執行
代碼如下:
$().ready(function(){
setTimeout(Test1, 50);//延時50毫秒後再執行本函數
})
$().ready(function(){
Test2();
})
function Test1(){
alert("");
}
function Test2(){
alert("www.poluoluo.com");
}
樣就行了,本來應該是先彈出1,再彈出2的,利用延時觸發後,就成了先彈出2,再彈出1