现在,我已经学到了很多关于jQuery插件开发和jQuery的知识。我已经创建了一个简单的jQuery插件,我从$.fn.testplugin中移出了initialize()函数,但现在initialize()函数在全局作用域中。我的问题是如何从$.fn.testplugin移出initialize()函数,同时又使其成为局部作用域。
插件:
(function($){
function initialize($obj, color){
$obj.css("color",color);
};
$.fn.testplugin = function(options){
var defaults = {
color: "red"
};
var option = $.extend(defaults, options);
return this.each(function(){
var $this = $(this);
initialize($this, option.color);
});
};
})(jQuery);发布于 2012-06-05 17:12:20
您的initialize()函数不在全局作用域中;您在定义它的地方显式地创建了一个闭包。在发布的代码中,不能从最外层的函数外部访问initialize()函数。
发布于 2012-06-05 17:12:12
使用var:
var initialize = function() {};它将在匿名函数的本地作用域中。
https://stackoverflow.com/questions/10894492
复制相似问题