Créer une variable Javascript globale avec MooTools
-
07-07-2019 - |
Question
J'utilise mootools-1.2.3 pour le moment et je ne parviens pas à rendre une variable accessible en dehors d'une fonction.
Je dois définir la variable dans la fonction domready, car sinon le DOM n'a pas été chargé et les fonctions de sélecteur ne fonctionneront pas (je ne peux pas placer le script à la fin du code HTML si je n'ai pas le contrôle sur lorsque le cadre écrit les références aux scripts externes).
Est-il possible de référencer la même variable dans une autre fonction?
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();
});
La solution
Placez var myVar;
au premier niveau (au-dessus de addEvents), puis supprimez le var
de la fonction domready. Les variables sont visibles dans la portée dans laquelle elles sont déclarées.
Autres conseils
les variables globales sont en réalité des propriétés de l'objet window, vous pouvez donc utiliser:
window.myVar
Définissez simplement myVar sans le mot clé var
. L'absence de var
lors d'une affectation implique une approche globale.
window.addEvent('domready', function() {
myVar = new myClass('someURL', 'elementSelectorString');