2

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()在所有图像完全加载后运行代码。可以做到吗?

4

1 回答 1

5

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

(function($){
    $(window).load(function() {
        if($('#div1').length) {
            /* do stuff */
        }
    });
})(jQuery);
于 2013-04-06T15:38:46.323 回答