我的jQuery顶部装有jQuery.noConflict()
(在WordPress中)。
然后,我有以下自定义函数:
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
不是一种选择。有任何想法吗?
最佳答案
您必须在ready回调函数的范围内定义equalizeHeights
jQuery(function($){
equalizeHeights($);
var equalizeHeights = function($){
$('.header').height(500);
}
});
如果您需要全球化的话
var equalizeHeights;
jQuery(function($){
equalizeHeights = function($){
$('.header').height(500);
}
equalizeHeights($);
});