Bonjour

je travail avec la librairie mootools.
j ai une class UnConteneur qui me permet de créer une fenêtre (un div élaboré on va dire).
J'ai une méthode onFocus qui lorsque on l'appelle modifie la couleur de mon objet :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
onFocus:function(){
		if(!this.focus)
			{
			this.focus=true;
			$(this.id).morph('.class_un_conteneur_principal_focus');
			}
	}
lorsque je l'appelle à l extérieur de ma classe sur un objet cela fonctionne parfaitement.

Par Exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
// test étant appelé lorsque l on clique sur un lien
//monConteneur étant une instance de la classe UnConteneur 
function test()
	{
	monConteneur.onFocus();
	}
Cependant je voudrais que lorsque l'on clique sur le div celui ci appelle la methode onFocus, j'ai donc fait de la manière suivante mais à fortiori sa ne fonctionne pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
// cette ligne ce trouve dans le constructeur
//myDivPrincipal est le div qui est bien créé sur lequel je clique pour obtenir le focus
//quand je clique j'obtiens une erreur qui est : this.onFocus is not a function
myDivPrincipal.addEvent('click', function(){this.onFocus()});
Je pense que le this ne referre pas au bon this... mais du coup je voit pas comment procéder...
pouvez vous m'éclaircir.