2012-02-27 19 views
2

我在頁面上使用小部件。 該頁面使用jQuery 1.3.2,本頁面上的許多jQuery插件依賴於jQuery 1.3.2。小部件使用jQuery 1.7.1,並且爲小部件提供服務的許多jQuery插件依賴於jQuery 1.7.1。問題是當我使用sidjs庫將小部件加載到頁面時。由於jquery版本,導致javascript錯誤的衝突。我查了一下互聯網,發現我可以使用「$ .noConflict()」來解決這個問題。但我需要在很多地方更改代碼。我想我還需要更改jQuery插件的代碼。有沒有什麼好的方法可以做到這一點?加載不同版本的jquerys時,解決問題的方法是什麼

+0

我認爲它更好地爲您使用兼容的jQuery版本,將適合,美正在使用的插件。試試jsfiddle – Bert 2012-02-27 03:43:13

+1

更新顯然依賴於1.3.2到1.7.1的代碼有多難?語法沒有改變那麼多。 – 2012-02-27 03:42:50

+0

你的意思是「語法沒有改變那麼多」?你的意思是「$ .noConflict()」語法不能很好地工作嗎? – David 2012-02-27 03:45:36

回答

2

地址:

window.$jq171 = jQuery.noConflict(); 

到它自己的.js文件,並使用SidJS加載它隨即如果要加載的jQuery 1.7.1。我能想到的唯一方法就是比在jquery-1.7.1.js或jquery-1.7.1.min.js文件最後添加相同的行(無論您使用的是哪一行)。就我個人而言,我會把它保存在它自己的文件中。

然後在參考jQuery 1.7.1的腳本中,使用$jq171代替您通常輸入的$。舉例如下:

$(document).ready(function() { 
    //normal style 
}); 

變爲:

$jq171(document).ready(function() { 
    //normal style 
}); 
相關問題