2012-01-23 18 views
0

2つの別々のjQueryライブラリの処理方法を教えてください。私はそれらの両方が必要ですが、両方の結果を競合に含めて、1つの機能だけが動作します。複数のjQueryライブラリ間の競合

+4

** 2 ** jQueryライブラリを含む理由は何ですか?他のプラグインとの互換性が最も低いものを削除し、あなたが殺したプラグインを必要とする問題を修正してみませんか?あなたが使用しているプラ​​グインのいくつかのスニペットが役に立ちます。 –

答えて

7

です。実際には両方のページを同時にページ内でアクティブにすることはできますが、そのうちの1つだけに$シンボルを付けることができ、そのうち1つにjQueryシンボルを付けることができます。しかし、技術的に、あなたページの持っている以上のことができます。よく執筆jQueryのプラグインという

<script src="jquery-1.5.2.js"></script> 
<script>var $j15 = jQuery.noConflict(true);</script> 
<script src="jquery-1.7.1.js"></script> 
<script> 
    // Here, $ = jQuery = jQuery 1.7.1 
    // $j15 = jQuery 1.5.2 
</script> 

注例えば、でもその環境で動作します:

<script src="jquery-1.5.2.js"></script> 
<script src="plugin-requiring-1.5.2.js"></script> 
<script>var $j15 = jQuery.noConflict(true);</script> 
<script src="jquery-1.7.1.js"></script> 
<script> 
    // Here, $ = jQuery = jQuery 1.7.1 
    // $j15 = jQuery 1.5.2 
    $j15("selector").pluginRequiring152(...); 
</script> 

..よく執筆プラグイン.because次のようになります。

(function($) { 
    $.fn.pluginRequiring152 = ...; 
})(jQuery); 

...ので、あなたラ場合壊すことなく、あなたがそれを含める時点でjQueryあるものを使用します火災はnoConflict(true)で消えます。

いいですか?ほとんど間違いない。 jQueryの複数のバージョンが必要な問題を解決し、テストした最新のものだけを含むことをお勧めします。