Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# javascript et objet

Envoyé par : Utilisateur anonyme

Date : 12/04/2006 22:44

la fonction fncHello est appellé correctement apres un clic sur le bouton. Je decide de changer le label du bouton dans cette méthode et j'ai alors une erreur :: this.button has no propreties.

this.button.setAttribute("label","Un bouton cliqué");

Je ne comprend pas l'erreur et comment y remedier. Est ce un probleme d'écriture ?

Merci de votre aide car je ne trouve pas.

Alban

<window 
	id="main"
	onload="
			var x=new classX();
			x.init();
		" 
	xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
	<script>
	
		function classX()
		{
			this.init = function()
			{
				this.main = document.getElementById("main");
		
				this.button = document.createElement("button");
				this.button.setAttribute("label","Un bouton");
				this.main.appendChild(this.button);
				this.button.addEventListener( "command", this.fncHello, false ); // sans () au nom de la fonction
				
			}
			
			this.fncHello = function()
			{
				this.button.setAttribute("label","Un bouton cliqué");
			}				
			
		}
		
	</script>
</window>

# Re: javascript et objet

Envoyé par : hhf

Date : 13/04/2006 00:55

dans addEventListener, tu passes une function, tu perds de se fait le contexte de la methode (le fameux this). par contre, si tu fais :

this.fncHello = function(event) {
  var eSrc = event.target;
  eSrc.setAttribute("label","Un bouton cliqué");
}				

la ca va marcher.

un petit truc quand tu as besoins de trouver les attributs d'un object que tu connais pas, active la console et le dump comme indiqué je sais plus ou sur ce site, et fais ceci.

Exemple ici pour event :

this.fncHello = function(event) {
  for(var prop in event) dump(" - "+prop+" : "+event[prop]+"\n");
  var eSrc = event.target;
  eSrc.setAttribute("label","Un bouton cliqué");
}				

se qui t'afficheras toutes les propriétés et methodes de event.... TADA...

# Re: javascript et objet

Envoyé par : Utilisateur anonyme

Date : 13/04/2006 08:37

Merci pour cette réponse très comlète. Je n'aurais pas trouvé sans vos explications.

Et merci aussi pour la liste des attributs associés à un object event.

Bonne journée. Alban

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.