Сделать переменную Javascript глобальной с помощью MooTools - PullRequest
1 голос
/ 15 сентября 2009

В настоящее время я использую mootools-1.2.3, и у меня возникают проблемы с получением переменной, доступной вне функции.

Мне нужно определить переменную в функции domready, потому что в противном случае DOM не был загружен, и функции селектора не будут работать (я не могу поместить скрипт в конец HTML, который я не могу контролировать когда фреймворк пишет ссылки на внешние скрипты).

Есть ли ссылка на ту же переменную в другой функции?

window.addEvent('domready', function() {
    var myVar = new myClass('someURL', 'elementSelectorString');
    document.addEvent('click', function(event) {
        myVar.doSomeStuff(var1, var2);
    });
});

window.addEvent('unload', function(event) {
    // Reference to myVar variable in domready function.
    myVar.cleanUpStuff();
});

Ответы [ 3 ]

4 голосов
/ 15 сентября 2009

Поместите var myVar; на верхний уровень (над addEvents) и удалите var из функции domready. Переменные видны внутри области, в которой они объявлены.

2 голосов
/ 15 сентября 2009

глобальные переменные на самом деле являются свойствами объекта окна, поэтому вы можете использовать:

window.myVar
0 голосов
/ 15 сентября 2009

Просто определите myVar без ключевого слова var. Отсутствие var во время назначения подразумевает глобальное.

window.addEvent('domready', function() {
    myVar = new myClass('someURL', 'elementSelectorString');
...