Domanda

Attualmente sto usando mootools-1.2.3 e ho problemi a rendere accessibile una variabile al di fuori di una funzione.

Devo definire la variabile nella funzione domready, perché altrimenti il ??DOM non è stato caricato e le funzioni di selezione non funzioneranno (non riesco a posizionare lo script alla fine dell'HTML di cui non ho il controllo quando il framework scrive i riferimenti a script esterni).

Esiste comunque un riferimento alla stessa variabile in un'altra funzione?

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();
});
È stato utile?

Soluzione

Metti var myVar; al livello superiore (sopra addEvents) e rimuovi var dalla funzione domready. Le variabili sono visibili nell'ambito in cui sono dichiarate.

Altri suggerimenti

Le variabili globali sono in realtà proprietà dell'oggetto Window, quindi puoi usare:

window.myVar

Definisci semplicemente myVar senza la parola chiave var . La mancanza di var durante un compito implica globale.

window.addEvent('domready', function() {
    myVar = new myClass('someURL', 'elementSelectorString');
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top