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();
});
¿Fue útil?

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');
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top