Hacer Javascript variable global con MooTools
-
07-07-2019 - |
Pregunta
Estoy usando mootools-1.2.3 en este momento y tengo problemas para que una variable sea accesible fuera de una función.
Necesito definir la variable en la función domready, porque de lo contrario el DOM no se ha cargado y las funciones del selector no funcionarán (no puedo colocar el script al final del HTML del que no tengo control) cuando el marco escribe las referencias a scripts externos).
¿Hay alguna forma de hacer referencia a la misma variable en otra función?
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();
});
Solución
Coloque var myVar;
en el nivel superior (encima de addEvents) y elimine el var
de la función domready. Las variables son visibles dentro del alcance en el que se declaran.
Otros consejos
las variables globales son en realidad propiedades del objeto de ventana, por lo que puede usar:
window.myVar
Simplemente defina myVar sin la palabra clave var
. La falta de var
durante una asignación implica global.
window.addEvent('domready', function() {
myVar = new myClass('someURL', 'elementSelectorString');