jquery плагин локальные переменные между методами - PullRequest
0 голосов
/ 29 января 2010

У меня проблемы с плагином jquery, который я быстро поиграл. Он исчезает, когда вызывается событие запуска дескриптора ajax, и останавливается с полным дескриптором.

Exemple:

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

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

Вопрос в том ... когда я запускаю 2 вызова ajax, я хочу правильно иметь доступ к переменным внутри "hideMaskAjax", где были инициализированы в "target.mask ()"

in 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 голосов
/ 08 февраля 2010

Не переусердствуйте, иммо. Самое простое, быстрое и грязное решение - поместить вашу переменную прямо в цель. Обе функции имеют доступ к цели, как это. Выберите необычное имя.

Ваше предупреждение (this.mask), вероятно, не выполняется, кстати, потому что маска уже объявлена ​​как функция для цели (поэтому вам нужно быть осторожным с именами) Попробуйте добавить знак подчеркивания.

0 голосов
/ 29 января 2010

Ср. Действительно нужно увидеть остальную часть кода плагина, чтобы увидеть, как вы это делаете. Тем не менее, для меня это звучит так, как будто вам нужно создать реальный объект, чтобы вы могли иметь переменные-члены и несколько экземпляров. Тогда вы можете прикрепить вещи к нему.

...