我正在使用jQuery爲現有頁面構建模塊。該頁面也使用原型,所以有通常的jQuery原型衝突。我使用的jQuery.noConflict()和一切工作正常,除了ie(在ie8中測試)的所有瀏覽器。 我已閱讀這裏和其他網站的所有類似問題,但我無法讓它工作。 這是關於它是如何工作的:頁面使用原型(effects.js,prototip.js等)加載原型和其他.js文件,然後加載我的模塊(又名jQuery在原型之後加載)。 我讀過關於將原型的$()函數更改爲$$$(),但這是不可能的(其他許多使用原型的模塊將需要更改),所以它只是關於更改我的js。只有在ie8 jquery原型衝突
然後我讀有關使用
(function($) {
//my jQuery code in here
})(jQuery);
,但我不完全理解它。我的代碼是關於這樣的:
$J = jQuery.noConflict();
$J(document).ready(function(){
fun1();
//jquery stuff
fun2();
});
function fun1(){
//stuff/jQuery code/ call other functions
}
function fun2(){
//stuff/jQuery code/ call other functions
}
如果我把所有到上述(function($) { /*all the above*/})(jQuery);
我得到的所有功能是不確定的。
我在做什麼錯了?還是有另一種解決方案?
我強烈建議嘗試使用一個或另一個,但不是兩個。如果沒有太多的麻煩,你可以使它們不衝突,但這意味着你的用戶必須加載兩個不同的庫。有jQuery和Prototype的插件可以完成你想要的大部分事情。 – 2011-01-31 15:12:00