2008-09-18 8 views
0

J'utilise le plugin Rokbox basé sur mootools, sur un de mes sites, et je n'arrive pas à comprendre comment le fermer avec javascript.Fermer mootools Rokbox par Javascript

J'ai déclenché l'événement click sur le bouton de fermeture, mais cela n'a pas fonctionné.

Je trouve le code dans la source de rokbox qui est utilisé pour ajouter le clic d'écoute

this.closeButton.addEvent('click',function(e){new Event(e).stop();self.swtch=false;self.close(e)}); 

mais puisqu'il est minifiés je ne peux pas trouver ce que « ce » fait référence à

Répondre

1

Le this probablement fait référence à l'instance de rokbox; Je ne pense pas que vous ayez à vous en préoccuper, vous êtes intéressé par le code qui s'exécute sur l'événement click. La partie saillante semble être la suivante:

self.swtch=false; 
self.close(e); 

self le plus probable correspond à l'instance de rokbox, encore une fois, donc en supposant que vous instancier avec quelque chose comme

var rokbox = new RokBox(...); 

vous devriez être en mesure d'appeler juste

rokbox.close(); 

et de l'avoir à proximité. Je n'ai pas regardé la source rokbox, donc pas de garanties, et je ne sais pas vraiment ce que fait le swtch=false, donc vous aurez probablement besoin d'expérimenter un peu.

0

Pour le rokbox actuel et Mootools 1.12, la commande est

window.parent.rokbox.close(null) 

il a fallu une éternité pour arriver à cela. Soit dit en passant, c'est de fermer le rokbox de la page qui est chargée dans le rokbox, en cliquant sur un bouton normal au lieu du 'x' par exemple. De plus, pour ajouter à ce qu'Aeon a écrit, le rokbox est automatiquement créé, donc inutile de l'instancier.

+0

Malheureusement, j'ai maintenant découvert que cela ne fonctionne pas dans le backend de l'administrateur, car le rokbox-config fait un "var rokbox = new RokBox ({" où dans le front-end, c'est "rokbox = new RokBox ({ "sans le 'var' de sorte que rokbox a une portée globale. – yitwail