2

wordpress テーマが jQuery をロードする方法を、Google のバージョンを手動でロードする方法から、wordpress に付属のバージョンをキューに入れる方法に切り替えました。wordpress に付属するバージョンには「noconflict()」が含まれているため、$ ショートカットはすべての jQuery で機能しなくなり、代わりに「jQuery」を使用する必要があります。

私は多くの.jsスクリプトと多くのjquery設定の初期化をページに持っていますが、すべて省略形の$を使用していたため、どれも機能しません。

私の質問は、wordpress に付属している noconflict バージョンを使用する必要があると仮定すると、短縮コードを修正する最良の方法は何ですか?

このような行を各スクリプトの先頭に追加する必要がありますか?

jQuery(document).ready(function($) {

または、すべての $ を「ファイルで検索」して jQuery に置き換える必要がありますか?

4

3 に答える 3

4

Wordpress の推奨事項: よく読んでください http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_wrappers

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

コード

(function($) {
    // $() will work as an alias for jQuery() inside of this function
})(jQuery);
于 2012-07-07T23:08:21.923 に答える
2

すぐに実行される匿名関数にjQuery、サンドボックス (関数) 内で操作するオブジェクトとその他の API のオブジェクトを渡すことができます。

(function($, window, undefined) {


}(jQuery, window));

これにより、コードに不可欠な やその他の APIの実装をロックすることで、競合するコードの可能性が軽減されます。jQueryundefined

于 2012-07-07T23:08:13.793 に答える
1

すぐに実行される関数を使用して、 に$設定されるという名前の変数を作成できますjQuery。これにより、 に切り替える前の動作をシミュレートできますnoconflict

(function(){ 

    var $ = jQuery;

    //now use $ as you always have

})();

また

(function($){ 

    //now use $ as you always have

})(jQuery);
于 2012-07-07T23:07:01.833 に答える