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リファレンスにアクセスしてください。