2012-04-25 24 views
0

私はjQuery.noConflictにあまり慣れていません。私は数回それを実装しようとしましたが、私はそれが間違っていると感じています。Jquery No Conflict jquery-1.7.1.min.js

"jquery-1.7.1.min.js"でnoConflictを設定する方法はありますか?私はそれを実際のファイル、またはインデックスのヘッダー、あるいはその両方に入れますか?私は例に従おうとしましたが、私はそれが間違っていることを知っています。

どのようなガイダンスや簡単な例があれば、私は大いに役立ちます!

http://api.jquery.com/jQuery.noConflict/

私はそれはそれについてのすべてを言うと思う:

+0

どのようにhelあなたはあなたがそれをやっているか、あなたが間違っているかもしれないことを私たちが見ることができないとき、あなたはあなたですか? – Sparky

答えて

4
var foo = $.noconflict(); 
foo('body').addClass('bar'); 

あなたは(上記のように)それを新しいエイリアスを割り当てるか$.noConflictを呼び出すとのみ使用可能jQueryを持つことができます。エイリアスを選択した場合でも、jQueryを参照するたびに新しいエイリアスを使用する必要があります。

// disable $ and force use of myJQ 
var myJQ = jQuery.noConflict(); 
(function($){ 
    // 
    // be able to use $ within this block and have it mean jQuery 
    // 
    $('body').addClass('foo'); 
})(myJQ); 

// we're outside the block, now we're back to myJQ 
myJQ('body').removeClass('foo'); 
+0

実際に '$'はjQueryがロードされる前に設定されたものに復元されます。 –

+0

@Rocket:Touché、私のポストを修正しました。 –

+0

@Rocket:実際、そうではありません。 "$ .noConflict()'を呼び出すことで、 '$'の制御を他のライブラリに戻すことができます。 "jQuery' $ 'エイリアスがなくなり、' jQuery'が残っています( ' (実際には 'jQuery'も消えてしまいます。)([自分自身を参照](https://github.com/jquery/jquery/blob/376e0d9fa8ff4e9ca0b77a6f0d0b268ac7faa87e/src/core.js#L368-378) ) –

2

では、次の例を試してみました。ブラウザコンソールでエラーを確認してください。

4

ませ競合モードを使用して簡単ではありません:匿名関数を使用して、必要なときに、あなたがnoConflictを有効にしても、まだそれが利用可能に持つことができるけれども心に留めておいてください

$jを使用し、代わりにすべてのため$を使用しての、そして、

var $j = jQuery.noConflict(); 

::まもなくjQueryと任意のjQueryの依存ライブラリをロードした後、これを含める

var elements = $j('.class-name'); 
0

私も、noConflictコールを使用してお勧めしますjQueryを無名関数でラップするので、jQueryを呼び出すことができます。$

jQuery.noConflict(); 
(function ($) { 
    // Now you can use $ to call jQuery 
}(jQuery));