0

jQuery.noConflict()上部(WordPress)にjQueryをロードしました。

次に、次のカスタム関数があります。

var equalizeHeights = function(){
  $('.header').height(500);
}

私は.ready()このように呼び出します:

jQuery(function($){
  equalizeHeights();
});

関数内の$パラメーターは、そのブロック全体で使用可能な jQuery 変数の簡略版を作成することになっていますが、実際にequalizeHeights()関数内で高さを設定しようとする行は、コンソールにエラーを返します。

Uncaugth TypeError: Property '$' of object [object Object] is not a function

ライブラリがロードされていることは確かですが、これは問題ではありませんconsole.log$変数を呼び出す直前に変数を使用するとequalizeHeights()、有効な jQuery オブジェクトが返されるからです。問題は$、何らかの理由で子関数によって継承されないことです。

グローバル$にして割り当てること$ = jQueryはオプションではありません。

何か案は?

4

2 に答える 2

1

equalizeHeights準備完了コールバック関数のスコープで定義する必要があります

jQuery(function($){
    equalizeHeights($);
    var equalizeHeights = function($){
        $('.header').height(500);
    }
});

グローバルにする必要がある場合は、

var equalizeHeights;
jQuery(function($){
    equalizeHeights = function($){
        $('.header').height(500);
    }
    equalizeHeights($);
});
于 2013-08-16T13:13:30.550 に答える