jQuery- noConflict()メソッド


jQueryを使用しながら、ページで他のフレームワークを使用したい場合はどうなりますか?


jQueryおよびその他のJavaScriptフレームワーク

ご存知のように; jQueryは、jQuery$のショートカットとして記号を使用します。

Angular、Backbone、Ember、Knockoutなど、他にも多くの人気のあるJavaScriptフレームワークがあります。

他のJavaScriptフレームワークもショートカットとして$記号を使用している場合はどうなりますか?

2つの異なるフレームワークが同じショートカットを使用している場合、そのうちの1つが機能しなくなる可能性があります。

jQueryチームはすでにこれについて考え、noConflict()メソッドを実装しています。


jQuery noConflict()メソッド

このnoConflict()メソッドは、$ショートカット識別子の保留を解除して、他のスクリプトがそれを使用できるようにします。

もちろん、ショートカットの代わりにフルネームを記述するだけで、jQueryを引き続き使用できます。

$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery is still working!");
  });
});

独自のショートカットを非常に簡単に作成することもできます。このnoConflict()メソッドは、後で使用するために変数に保存できるjQueryへの参照を返します。次に例を示します。

var jq = $.noConflict();
jq(document).ready(function(){
  jq("button").click(function(){
    jq("p").text("jQuery is still working!");
  });
});

ショートカットを使用するjQueryコードのブロックがあり、$すべてを変更したくない場合は、$ログインをパラメーターとしてreadyメソッドに渡すことができます。これにより、この関数の内部で、を使用してjQueryにアクセスできます。$この関数の外部では、「jQuery」を使用する必要があります。

$.noConflict();
jQuery(document).ready(function($){
  $("button").click(function(){
    $("p").text("jQuery is still working!");
  });
});

jQueryその他のリファレンス

すべてのjQueryMiscメソッドの完全な概要については、 jQueryMiscリファレンスにアクセスしてください。