2013-12-11 53 views
0

我知道$(document).ready在DOM加載後立即執行。我的問題是在加載異步JavaScript之前發生嗎?我有參考DOM元素的腳本。我想確保在執行我的腳本之前,所有DOM元素和所有異步JavaScript都被加載。請注意,我的腳本也是從外部工具異步加載到瀏覽器端。我想將我的腳本添加到某些事件處理程序中。我不能把我的腳本放在window.onload之內,因爲我必須多次使用事件處理函數(在window.onload內部附加腳本/函數也是不適用的)。 基本上我想編寫可以多次使用的事件處理程序,只有在DOM和異步腳本加載後纔會執行。在這種情況下,我可以使用$(document).ready嗎? $(window).load可以多次加載?document.ready已加載異步js後加載?

+1

$(document).ready不會等待異步代碼完成,它不會等待外部資源加載,所有它正在等待DOM準備就緒,即元素可用。 – adeneo

+0

行.. $(window).load可以寫多次?例如:$(window).load(func1(){}); $(窗口).load(FUNC2(){}); – user3090914

回答

0

您可以使用RequireJS(http://requirejs.org/),它確保您的腳本正確加載。可以定義運行自定義腳本所需的依賴關係。 RequireJS將首先加載它們,並且您將避免類似「xxx is undefined」的錯誤