Codex [1]描述了如何处理使用$
变量的jQuery代码。我想将描述的包装器技术应用于以下示例:
jQuery(window).load(function() {
if(jQuery('#div1').length) {
/* do stuff */
}
});
在Codex包装器示例中,ready()
函数使用$
参数。据我了解,然后应该在回调函数中接受$
而不是jQuery
。我尝试用我的例子做同样的事情:
jQuery(window).load(function($) {
if($('#div1').length) {
/* do stuff */
}
});
使用上述内容,Firebug的控制台会报告TypeError: e is not a function
。
Codex示例可以正常运行,但我希望它与jQuery(window).load()
一起使用,以便在所有图像完全加载后运行代码。可以吗?
答案 0 :(得分:5)
使用closure,一个自动执行的匿名函数来包装你的JS。将jQuery
对象和$
作为参数传递给它:
(function($){
$(window).load(function() {
if($('#div1').length) {
/* do stuff */
}
});
})(jQuery);