Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [résolu] appel méthode depuis évenement xul

Envoyé par : xulien

Date : 17/08/2007 11:03

Bonjour, Un petit problème que je n'arrive pas à résoudre et qui me permettrait de rendre mon développement plus "objet". Est-il possible d'appeler une méthode d'objet depuis une balise xul ? exemple :

  • dans un .xul

<window onload="main()">

 <script src="main.js" type="application/x-javascript" />
 <script src="tataClass.js" type="application/x-javascript" />

 <button label="toto" oncommand="tata.onButtonClick()"/>

</window>

  • dans main.js

function main() {

 tata = new Tata();

}

  • dans tata.js

// Constructeur function Tata() { }


Tata.prototype.onButtonClick = function() {

 alert("ca ne marche pas, il ne trouve pas l'objet tata");

}

j'espère avoir été assez clair Merci Xulien

# Re: appel méthode depuis évenement xul

Envoyé par : hhf

Date : 17/08/2007 23:59

Tu devrais testé faire ceci : inverser les deux lignes de chargement de script

dans mains.js

  var tata = null; // la variable est explicitement declaré global
  function main() {
    tata = new Tata();
  }

mais pour moi tu devrais faire ceci.

Methode 1)

Au lieu de creer un constructeur pour un object que tu va instancier qu'une seul fois (je presume) tu fais une instance avec les methodes necessaire directement. tu evitera la fonction sur le onload :

  var tata = {
     property : 5,
     onButtonClick : function(event) {
     },
     zzzzzz : null
  }
  

note les "," à chaque methodes ou property de l'instance, et l'absence de "," à la derniere.

Attention ici , ce sont des methodes d'instances. Si tu veux faire des methodes statics, tu dois utiliser cette syntaxe :

Methode 2)

  function Tata() {
  }
  Tata.staticProperty = 5;
  Tata.staticMethode = function(arg) {
  };
  Tata.onButtonClick = function(arg) {
  };

Bien sur dans ce cas l'apelle sur le bouton se fera comme ceci :

  <button label="toto" oncommand="Tata.onButtonClick()"/>

Voila 2 methodes pour je pense dans ton cas obtenir fonctionnelement le meme resultat. Meme si c'est tres different. Pour ma part j'utilise la methode 1

Voila si tu as des question ...n'hesite pas

# Re: appel méthode depuis évenement xul

Envoyé par : xulien

Date : 20/08/2007 09:48

ok super ca répond parfaitement à ma question, merci beaucoup !!!

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.