Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Ajout de methode d'evement personnalisé sur un XBL

Envoyé par : Zmx

Date : 31/05/2006 13:29

Bonjour, J'aurais aimer savoir si il etais possible d'ajouter un attribut sur un XBL personalisé qui soit compris comme une méthode. Je m'explique, j'aimerais faire quelquechose comme ça: <myXbl onAction="alert(this)"/>

La methode defini par l'attribut "onAction" etant exécuté par le xbl sous certaine condition (un timer par exemple ...)

Le soucis c'est que je trouve rien qui permette de faire cecis en Xbl, ou alors je suis passer a coté. Quelqu'un a t-il deja fait cela ? trouver une solution (autre qu'un eval pas forcement correct a cause du contexte)?

Merci =)

# Re: Ajout de methode d'evement personnalisé sur un XBL

Envoyé par : laurentj

Date : 31/05/2006 14:03

En l'embarquant dans une fonction.. Dans une méthode de ton xbl, tu pourrais faire ce genre de chose

var onAction = this.getAttribute("onAction");
if( onAction){
   var func = new Function(onAction);
   var retval = func.call(this);
}

voir la référence de l'objet Function

# Re: Ajout de methode d'evement personnalisé sur un XBL

Envoyé par : laurentj

Date : 31/05/2006 14:05

j'ai oublié, si onaction est un évènement (genre tu as un handler etc..)

<handler event="action" phase="at-target">
  var onAction = this.getAttribute("onAction");
  if( onAction){
     var func = new Function("event", onAction);
     var retval = func.call(this, event);
  }
</handler>

# Re: Ajout de methode d'evement personnalisé sur un XBL

Envoyé par : Zmx

Date : 31/05/2006 16:46

Je me suis rejouis trop vite :D. Je vais essayer de faire un exemple plus concret

J'ai un Xbl qui est un tree avec ces function lié: <xblTree id="CompTabMat" flex="1" onSelectChild="alert(this)"/> Quand je selectionne un noeud ou que je fais certaine action sur le Xbl, j'aimerais executer la fonction qui est dans le "onSelectChild". Pour cela ta methode fonctionne bien sauf que:

  • le contexte n'est pas celui que je souhaite (j'aimerais que le "this" contienne le xblTree par exemple) comme le fait les evement "onclick" présent sur les elements Xul.

Est-ce possible ?

Mea Culpa... Tous a l'air de marcher (ça m'apprendra a avoir fait une copie et pas travailler avec ...)

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.