我在顶部(在WordPress中)加载了jQuery.noConflict()
的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
不是一种选择。
有什么想法吗?
答案 0 :(得分:1)
您可能想尝试:
jQuery(function($){
equalizeHeights($);
});
var equalizeHeights = function($){
$('.header').height(500);
}
并通过函数调用传递$。否则,jQuery的引用为'$'就会丢失。
答案 1 :(得分:1)
您必须在就绪回调函数
的范围内定义equalizeHeights
jQuery(function($){
equalizeHeights($);
var equalizeHeights = function($){
$('.header').height(500);
}
});
如果你需要它是全球性的,
var equalizeHeights;
jQuery(function($){
equalizeHeights = function($){
$('.header').height(500);
}
equalizeHeights($);
});