2011-06-29 61 views
0

我正在爲許多人使用的ASP.NET Web應用程序編寫一個JavaScript文件。該文件將使用jQuery,這樣保證我可以放心地使用$別名,該文件的結構是這樣的:未定義jQuery

(function ($) { 
    // My javascript here can safely use the $ alias 
})(jquery); 

然而,我的Firebug控制檯顯示「jQuery是沒有定義」的錯誤。我確定此文件的腳本標記之後是jQuery的腳本標記,但很明顯,此腳本在jQuery準備好之前正在運行。

如何確保腳本在jQuery準備好後運行?

+7

難道你沒有輸入一個小寫的'jquery'嗎? –

+1

要擴展@ meder的(** + 1 **)註釋,最後一行應該是:['})(jQuery);'](http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Referencing_Magic_-_Shortcuts_for_jQuery) –

+0

嘗試'jQuery'的情況下很重要 – Endophage

回答

6

Javascript中的標識符區分大小寫。

變量jquery不存在,但jQuery呢。

(function ($) { 
    // My javascript here can safely use the $ alias 
})(jQuery); 

爲了解決你的疑惑時,腳本執行約:

腳本的執行等待被加載外部腳本。

在瀏覽器在頁面稍後繼續執行腳本之前,將始終加載並執行jQuery腳本。 (當然,除非jQuery腳本不能完全加載。)

+1

我會補充:確保jquery插入到腳本之前;) – meo

+0

D'oh!是的,這是一個區分大小寫的問題。這是複製和粘貼代碼時可能發生的情況。非常感謝! – Roger