web-dev-qa-db-ja.com

JQuery.noConflict()で$をグローバルにアクセス可能にする

Codex プロモート プラグイン/テーマのJavaScriptファイル内で$を使用する方法:

jQuery(document).ready(function($) {
    // $() will work as an alias for jQuery() inside of this function
});

しかし、そうするならば、あなたはready()の中で$へのアクセス権しか持っていません。私は、関数をready()から呼ばれる小さなモジュールに分割し、すべてをready()の中にまとめるべきではないと思うので、Codexのメソッドを使用する場合、各関数に$を渡す必要があります。 $を使用する代わりにjQueryを常に書き出すのも面倒です。

私はJavaScriptファイルの最初に$ = jQuery.noConflict();を実行することができ、それから$が至るところで利用可能ですが、状況によっては他のプラグインやテーマで問題を引き起こすかもしれないと思います。私の検索では、徹底的な説明や決定的な答えは得られていません。誰かが何か考えがありますか?

6
Ian Dunn

$ = jQuery.noConflict();は必要ありません

Document.ready()の外側の関数は、次のようにラップするだけです。

(function($){  
  // use $ here safely
})(jQuery);
9
onetrickpony

この答えが誰かに役立つことを願っています

このコードを入れる:

 $ = jQuery.noConflict(true);

前 :

 $(document).ready(function($){ ... });
0
Johnnatan