Faça variável Javascript mundial w / MooTools
-
07-07-2019 - |
Pergunta
Eu estou usando mootools-1.2.3 no momento e estou tendo problemas para obter uma variável a ser acessível fora de uma função.
Eu preciso definir a variável na função domready, porque caso contrário o DOM não foi carregado e funções do seletor não vai funcionar (eu não posso colocar o script no final do HTML Eu não tenho o controle de quando a estrutura escreve as referências a scripts externos).
Existe uma maneira em referenciar a mesma variável em outra função?
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();
});
Solução
Coloque var myVar;
no nível superior (acima dos addEvents), e remover o var
da função domready. Variáveis ??são visíveis no âmbito em que são declarados.
Outras dicas
variáveis ??globais são realmente propriedades do objeto janela, assim você pode usar:
window.myVar
Simplesmente definir myVar sem a palavra-chave var
. A falta de var
durante uma atribuição implica global.
window.addEvent('domready', function() {
myVar = new myClass('someURL', 'elementSelectorString');