我遇到了一个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
同样在插件中为此创建全局变量似乎不适用于多次调用它。
答案 0 :(得分:0)
周三真的需要看看其余的插件代码,看看你是怎么做的。这说我觉得你需要创建一个实际的Object,以便你可以拥有成员变量和多个实例。然后你可以附上东西。
答案 1 :(得分:0)
不要过度复杂化,imo。您最简单,最快捷,最脏的解决方案是将变量直接放在目标中。这两个函数都可以访问目标。选择一个不常见的名称。
你的警报(this.mask)可能是失败的,顺便说一句,因为mask已经被声明为目标函数(因此你需要注意命名)。尝试使用下划线预先添加。