Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Multiples addEventListener : seul le dernier fonctionne.

Envoyé par : the_glu

Date : 08/03/2007 19:00

J'ai ces trois fonctions :

addBouton: function(label,id,box,Ddocument,info1)
 {

var bouton = new Object;
bouton = null;
bouton = Ddocument.createElement("button");

bouton.setAttribute("type","button");
//bouton.setAttribute("tabindex","8");
bouton.setAttribute ("style","padding: 0pt 1em;");
bouton.setAttribute("id",id);
			
bouton.innerHTML = label;

try {

	box.innerHTML = box.innerHTML + "  ";

	box.appendChild(bouton);

} catch (e) { }


var tmpListener = new Object;
tmpListener = null;
tmpListener = new this.callBack(id,info1)
bouton.addEventListener('click',tmpListener,true);
 },

addComposeBoutons: function(box,Ddocument,info1)
{


 this.addBouton("S","s",box,Ddocument,info1);	
this.addBouton("C","c",box,Ddocument,info1);


},
callBack: function(id,info1)  {


this._id=id;
this._info1=info1;


	this.handleEvent =  function(event) { 
	alert(event.target.id + " m'a cliqué, son bonus est " + this._info1);
};

 }

Je fait appel DEUX fois à addComposeBoutons, avec le paramètre box qui change (et seulement celui-la), et dans les deux cas, seul le dernier bouton réagit (C), si j'inverse les deux, bein seul S réagit. Que faire ?

# Re: Multiples addEventListener : seul le dernier fonctionne.

Envoyé par : the_glu

Date : 09/03/2007 12:12

Problème résolu en mettant le listener sur le parent.

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.