0

我在快速玩弄一个 jquery 插件时遇到了麻烦。它在调用 ajax 的开始句柄事件时淡入,并在完成句柄时停止。

示例:

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

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

4

2 回答 2

0

Wed 真的需要查看插件代码的其余部分,看看你是如何做到的。也就是说,在我看来,您需要创建一个实际的对象,以便您可以拥有成员变量和多个实例。然后你可以把东西附加到它上面。

于 2010-01-29T04:38:51.243 回答
0

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

你的 alert(this.mask) 可能失败了,顺便说一句,因为 mask 已经被声明为目标函数(因此你需要小心命名)。尝试在前面加上下划线。

于 2010-02-08T18:47:08.137 回答