jquery插件方法之间的局部变量

时间:2010-01-29 04:18:38

标签: jquery ajax function plugins mask

我遇到了一个jquery插件的问题,我很快就玩了。 它在调用ajax的start handle事件时淡入,并在完全处理时停止。

例:

start : function (e,o) { 
    target.mask();
    target.showMaskAjax();
},

complete : function (e,o) {
    target.hideMaskAjax();....
},

问题是..当我发出2个ajax调用时,我想要正确访问里面的变量 “hideMaskAjax”已在“target.mask()”

中初始化 target.mask()中的

我一直在尝试:

 this.mask = $("<div/>", {css: {display: "none"}).addClass("loading_mask");
 this.spinner = $("<div/>", {css: {display: "none"}}).addClass("spinner");

target.hideMaskAjax()

alert(this.mask); //fail

同样在插件中为此创建全局变量似乎不适用于多次调用它。

2 个答案:

答案 0 :(得分:0)

周三真的需要看看其余的插件代码,看看你是怎么做的。这说我觉得你需要创建一个实际的Object,以便你可以拥有成员变量和多个实例。然后你可以附上东西。

答案 1 :(得分:0)

不要过度复杂化,imo。您最简单,最快捷,最脏的解决方案是将变量直接放在目标中。这两个函数都可以访问目标。选择一个不常见的名称。

你的警报(this.mask)可能是失败的,顺便说一句,因为mask已经被声明为目标函数(因此你需要注意命名)。尝试使用下划线预先添加。