jquery解決版本衝突
阿新 • • 發佈:2018-12-27
版本衝突的表現
運用了這個jquery.min.js指令碼之後再運用其他js指令碼的程式碼兩個都不能運行了,遮蔽掉其中一個才可以執行。
詳細的例子:
有一個頁面,header呼叫的是1.6版本的類庫,下邊的兩個小指令碼呼叫的是1.4的,頁面重新整理之後,頭部正常,但是下邊的指令碼有一部分功能卻失效了。
原因和解決方法
$符號的讓渡問題,樓上的做法是正確的,不過還有種做法,就是另外封裝$符號,在你的程式碼的最外層加上:
(function($){
這裡放你原來的程式碼,就可以了
})(jQuery)
解決例項
<!-- 引入1.6.4版的jq -->
<
script
src
=
"http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js"
></
script
>
<
script
> var jq164 = jQuery.noConflict(true); </
script
>
<!-- 引入1.4.2版的jq -->
<
script
src
=
"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"
></
script
>
<
script
> var jq142 = jQuery.noConflict(true); </
script
>
<
script
>
(function($){
//此時的$是jQuery-1.6.4
$('#header');
})(jq164);
</
script
>
<
script
>
(function($){
//此時的$是jQuery-1.4.2
$('#footer');
})(jq142);
</
script
>