我之前问过如何获取另一个插件变量的问题,但我认为这不是解决问题的正确方法。所以,我认为最好的方法可能是共享同一个变量。 E.g:
我有一个全局变量zIndex ,每次我的插件 [可能是plugin1,plugin2 ...]创建一个新元素时,它会获得 z来自它的-index 值加上一个并返回 zIndex ,每次点击该元素时,该元素都会获得最新的 zIndex 值并加上一,并将其返回 zIndex 。
因此,每个新创建的元素都可以获得最新zIndex值,每次元素 点击 >,它获得最新的zIndex 和更新zIndex值。
问题是:是否可以在插件之间共享这种全局变量?如何更新插件中的全局变量?
非常感谢!!
答案 0 :(得分:1)
如果您完全控制插件,可以使用简单的关闭来共享变量:
(function($) {
var mySharedVariable = "shared";
$.extend($.fn, {
plugin1: function() {
return this.each(function(i,e) {
mySharedVariable = "plugin1";
});
},
plugin2: function() {
return this.each(function(i,e) {
mySharedVariable = "plugin2";
});
}
});
}(jQuery));
由于 plugin1 和 plugin2 功能具有相同的父范围(或者更确切地说,是其激活对象),因此它们将共享访问mySharedVariable
。