我正在寫一個應用程序在使用jQuery的那一刻。它適用於使用原型的現有應用程序,所以顯然我不能立即使用美元符號。JQuery - 沒有衝突或關閉
我一直在使用noconflict來解決這個問題,但想不出我只是換我傳遞的jQuery封閉內整個腳本,如:
(function($){
})(jQuery);
這似乎是工作,但如果有任何後果我想知道對此?
我正在寫一個應用程序在使用jQuery的那一刻。它適用於使用原型的現有應用程序,所以顯然我不能立即使用美元符號。JQuery - 沒有衝突或關閉
我一直在使用noconflict來解決這個問題,但想不出我只是換我傳遞的jQuery封閉內整個腳本,如:
(function($){
})(jQuery);
這似乎是工作,但如果有任何後果我想知道對此?
這應該可以正常工作,因爲您將jQuery作爲jQuery對象本身傳遞給閉包。
儘管應該仍然指定noConflict,否則jQuery對象可以控制美元符號。調用noConflict會將美元符號傳遞迴已經使用它的任何東西。
的文件表明,這太:
$.noConflict();
jQuery(document).ready(function($) {
// Code that uses jQuery's $ can follow here.
});
// Code that uses other library's $ can follow here.
這會像一個魅力,只要你不需要訪問的塊中定義的變量。
Jquery插件通常使用這個精確的屏蔽結構進行編碼。
如果可以,請使用它來代替noConflict,因爲noConflict會強制您更加註意頁面中的腳本排序。
您將需要在jquery之後加載原型,以便它可以獲取$符號的所有權。
您可以同時使用:
(function($){
})(jQuery.noConflict());