Frage

Ich verwende Mootools-1.2.3 im Moment und ich habe Probleme, eine Variable immer zugänglich außerhalb einer Funktion sein.

Ich brauche die Variable in der domready Funktion zu definieren, denn sonst hat das DOM nicht und Selektor-Funktionen geladen werden nicht funktionieren (ich am Ende des HTML das Skript nicht platzieren kann ich nicht die Kontrolle von wenn der Rahmen schreibt die Verweise auf externe Skripte).

Gibt es trotzdem von den gleichen Variablen in einer anderen Funktion werben?

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();
});
War es hilfreich?

Lösung

Setzen Sie var myVar; auf der obersten Ebene (oberhalb der addEvents) und die var aus der domready Funktion entfernen. Variablen sind im Rahmen, in dem sie deklariert sind.

Andere Tipps

globale Variablen sind tatsächlich Eigenschaften des Window-Objekt, so können Sie:

window.myVar

Einfach meineVar ohne var Schlüsselwort definieren. Der Mangel an var während einer Zuweisung impliziert global.

window.addEvent('domready', function() {
    myVar = new myClass('someURL', 'elementSelectorString');
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top