$.noConflict()
$変数によるjQueryのコントロールを破棄します。
$.noConflict( [removeAll] ) 1.0追加
戻り値:Object
引数 | 説明 |
---|---|
[removeAll] | Boolean値のtrueを指定すると、グローバル空間の"jQuery"を含む全てのjQuery変数を開放します。 |
多くのjavaScriptライブラリは「$」を関数または変数名として使用しています。 jQueryの場合、「$」は「jQuery」のエイリアスであるため、全ての機能が「$」無しでも使用することが可能です。 もし、jQueryと「$」を使用する別のjavaScriptライブラリを共存させる必要が有る場合は、 $.noConflict()を実行して、「$」を開放します。
<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$.noConflict();
// 「$」を使用したother_lib.jsによるコードをここに書きます。
</script>
下記のように.ready()メソッドのコールバック関数の引数でjQueryのエイリアス名を指定する機能を使用すれば、 コールバック関数内で別のライブラリとの衝突を恐れること無く、「$」を使用することが出来ます。
<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$.noConflict();
jQuery(document).ready(function($) {
// 「$」を使ったjQueryのコードを書くことができます。
});
// ここ以降は別ライブラリの「$」を使用したコードを書きます。
</script>
必要であれば、引数にtrueを与えることで「jQuery」変数名も開放することができます。 非常に稀なケースだと思いますが、例えばjQueryの異なるバージョンを共存させたい場合などに必要になるかもしれません。 ほとんどのjQueryプラグインが「jQuery」変数が存在することを前提にしているので、使用する際には注意が必要です。
サンプル
$.noConflict()を使用して、$変数を解放後、「jQuery」を参照してjQueryの機能を使用しています。
jQuery.noConflict();
// 「jQuery」によって処理を行なっています
jQuery("div p").hide();
// 別のライブラリの$()を使用しています。
$("content").style.display = 'none';
.ready()の略記の例です。
jQuery.noConflict();
(function($) {
$(function() {
// $ を使用したjQueryのコードを書きます
});
})(jQuery);
// $ を使用した別のライブラリのコードを書きます
別のエイリアスを作成して、代わりに使用する例です。
var j = jQuery.noConflict();
// jQueryによる処理です。
j("div p").hide();
// $()を使用した別のライブラリの処理です。
$("content").style.display = 'none';
.noConflict(true)によって、完全に別のオブジェクトに移している例です。
var dom = {};
dom.query = jQuery.noConflict(true);
//…
// 移したオブジェクトからのjQueryの処理です。
dom.query("div p").hide();
// $()を使用した別のライブラリの処理です。
$("content").style.display = 'none';
// 別のバージョンによるjQueryの処理です。
jQuery("div > p").hide();
© 2010 - 2017 STUDIO KINGDOM