2016-06-24 15 views
0

私はこの質問の類似バージョンが以前に尋ねられていると確信していますが、私の特定の問題の答えを見つけることができませんでした。Jquery +矛盾なし

  1. 私はいくつかのcssと異なるjqueryバージョン+ colorboxを使用していますhtmlを持っています。
  2. このhtmlにコードを注入する必要があります。jquery v1.9を使用すると、コードはjqueryバージョン1.9以上では機能しません(これは奇妙ですが真です)。
  3. これはコードの一部(html要素+ javascript)は1.9を使用し、メインhtmlが、それはやっていたものは何でもし続けて注入されるようにだから私はnoconflictjquery v1.9を分離するための方法をしようとしています:

HTML

jqueryの異なるバージョンを使用する既存のjsファイル。 HTML上記以外jqueryの異なるバージョンを使用して、新たに注入されたJavaScript(MYJAVASCRIPT)ファイル

あなたはhtml上で見ることができるように、私はjquery V1.9で実行する必要があるファイルMYJAVASCRIPTを持っており、使用しているMain.jsのような他のJSファイルがありますjqueryの別のバージョン。

を変更せずにv1.9を使用するようにMYJAVASCRIPTを分離したいと考えています。

質問が明確でない場合はお詫び申し上げます。私は必要に応じてより多くの情報を提供することができます。

+0

と、それを利用する。.. –

+0

あなたのコードが表示されていない、それらを挿入properly.And jqueryのバージョン1.9のjqueryのCDNを試してみてください以上動作するはずです。 – frnt

答えて

0

jqueryのバージョンが初期化された後にjq_1_9 = $.noConflict(true);を呼び出し、コード内で$の部分にjq_1_9を使用してください。舞台裏

はjqueryの初期化の他のすべてのバージョンの後、1.9バージョンは独自のグローバルスコープは元の状態にグローバルスコープを復元します$.noConflict(true)を呼び出すと$オブジェクトが上書きされている初期化されます。したがって、jQuery v1.9は失われ、変数に代入して必要な場所で使用します。v1.9

例:

<script src="other version"></script> 
<script src="1.9 version"></script> 
jq_1_9 = $.noconflict(true); 

(function($){ 
    your functions go here; 
})(jq_1_9); 
グーグル `jqueryの-migrate.js`について
+0

入力いただきありがとうございます、私はそれをショットと更新を与えるつもりです。しかし、私が以前に試した同様のものは、このようにして、他のjqueryバージョンの実行からいくつかのコードをブロックするように見えます。私は各jqueryのバージョンごとに異なる変数を割り当て、それはうまくいくかもしれませんが、ただ1つのバージョンの変数を割り当てることはうまくいきませんでしたが、私が言ったように、私はもう1つのショットを与え、 – Dee

+0

はい、2つ以上のバージョンがある場合は、各バージョンに変数を割り当てて別々のクロージャに渡す必要があります。 –