Bonjour,

Je débute en JavaScript, et là je butte sur un truc qui a pourtant l'air assez simple :

En gros, je crée un objet qui contient deux méthodes, l'une (la méthode B) appelant l'autre (la méthode A). J'abonne la méthode B a l’événement "keydown" du document.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function MaClasse() {			
 
	// méthodeA affiche un message
	this.methodeA = function()
	{
		alert("exécute methodeA");
	};
 
	// la méthode methodeB appelle la méthodeA
	this.methodeB = function()
	{
		this.methodeA();
	};
 
	// abonnement a l'évènement keydown
	document.addEventListener('keydown', this.methodeB, false);	
}
 
var monObjet = new MaClasse();
 
// ici, ca marche j'obtient bien le message
monObjet.methodeB();
lorsque je teste en appuyant sur un touche, j'obtient cette erreur :

Uncaught TypeError: Object #<HTMLDocument> has no method 'methodeA'
J'ai l'impression qu'il s'attend à trouver la méthode A dans "document" .

Est-ce que c'est possible de faire ça en JavaScript ? Est-ce que je m'y prends mal ?