Вопрос

В настоящее время я использую 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();
});
Это было полезно?

Решение

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

Другие советы

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

window.myVar

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

window.addEvent('domready', function() {
    myVar = new myClass('someURL', 'elementSelectorString');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top