Bonjour,

J'ai récemment décidé de me mettre à la "POO" avec Javascript. J'utilise donc le prototypage, mais j'ai un soucis au niveau du code suivant (version simplifiée de mon code) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var maClasse = function(cadreCible){
	this.cadre = cadreCible;
	this.boite = this.add();
}
 
maClasse.prototype = {
	add : function(){
		// Divers opérations dont celle ci-dessous
		monBouton.addEventListener('click',this.remove,false);
	}
	remove : function(){
		this.cadre.removeChild(this.boite);
	}
}
Lorsque je créé une instance de cette classe, je passe en argument un cadre (div), que j'affecte à la propriété cadre. La méthode add est alors appelée, ajoute des éléments au DOM, et renvoie l'élément principal ajouté à la propriété boite.

Dans la méthode add, je fais appel à un addEventListener pour executer une fonction au clic sur un bouton.

Le soucis est le suivant : dans la méthode remove, this ne fait plus référence à ma classe mais à monBouton.

Sauriez vous comment je pourrais faire référence aux propriétés cadre et boite dans la méthode remove ?

Je vous remercie d'avance.