0

我正在关注这个关于构建小部件的教程

在该教程中,他正在测试页面上是否存在 jquery,如果不存在,则加载它。

在这个小提琴中重新创建了他的代码

我添加了另一个对象 CssLoader,但我无法在该对象中使用 jquery。您可以看到我的警报不起作用。

我应该如何确保 jquery 在 CssLoader 和我创建的任何其他对象中可用?

4

2 回答 2

1

我刚刚调整了你的代码

var CssLoader = (function(){
    var $=''; //the global $ inside CssLoader
    function init($, cssPathArray){ // Receive the jquery in the first argument
        $=jq; // assign jQuery to global $, so it'll be available inside CssLoader
        alert( $('body') );            
    }

    return {
        init : init
    };
})();

内部函数main调用CssLoader.init如下

CssLoader.init($, ['cssPath1', 'cssPath2']); // Pass the jquery in the first argument

演示。

于 2012-06-26T16:51:21.257 回答
0

首先,您正在本地化 jQuery,然后尝试从另一个匿名函数调用它。你为什么要这样做?

但是,这些文档应该有所帮助:http ://docs.jquery.com/Plugins/Authoring

于 2012-06-26T16:40:34.020 回答