jQuery(窗口).load()中的美元变量($)而不是jQuery

时间:2013-04-06 15:32:07

标签: jquery

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()一起使用,以便在所有图像完全加载后运行代码。可以吗?

1 个答案:

答案 0 :(得分:5)

使用closure,一个自动执行的匿名函数来包装你的JS。将jQuery对象和$作为参数传递给它:

(function($){
    $(window).load(function() {
        if($('#div1').length) {
            /* do stuff */
        }
    });
})(jQuery);