我有一个像这样的jquery函数:
(function($){
$.fn.myjqfunction = function(cfg){
var foo1, foo2;
return this.each...
};
})(jQuery);
如何让foo1和foo2可以从外部访问(来自其他类似的函数)?
这些变量将存储影响整个文档的一些事物的状态,我希望其他函数能够意识到这一点......
答案 0 :(得分:3)
在函数之外声明它们,即global。
您可能希望将它们放在命名空间/对象/模块中以保证安全。哪种方法最好取决于您实际使用它们的方式。
例如,如果它们与特定的选择器相关,那么使用.data
将它们直接附加到DOM元素可能是“最好的”,或者将它们保存在另一个jQuery函数中等等。
答案 1 :(得分:1)
设置你的功能:
(function($){
function myjqfunction( cfg ) {
return this.each( ... );
}
$.myjqfunction = {
foo1: ... ,
foo2: ...
};
$.fn.myjqfunction = myjqfunction;
})(jQuery);
然后,从插件外部,代码可以引用$.myjqfunction.foo1
来获取这些变量,并且您可以从插件代码中以相同的方式引用它们。
当然还有其他类似的方法来设置它。