Mmm voila, j'ai un problème avec la proprieté "arg" de ma classe : lorsque je passe par l'event handler, elle n'est plus définie :-(
Je pense que c'est parce que le "this" ne représente pas mon objet dans mon event handler, mais l'objet window plutot... mais si c'est ça, comment faire pour passer un argument à mon event handler ?
A noter que j'ai aussi essayé ceci, mais ça ne change rien :
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36 <html> <head> <script type="text/javascript"> var testClass = function(){ this.arg = "myArg"; } testClass.prototype.test = function(){ var test = document.createElement("div"); test.style.width = "50px"; test.style.height = "50px"; test.style.background = "red"; test.onclick = this.myEvent; document.body.appendChild(test); alert(this.arg); } testClass.prototype.myEvent = function(e){ alert(this.arg); } function launchFct(){ var t = new testClass(); t.test(); } </script> </head> <body> <input type="button" value="clickMe" onclick="launchFct()"/> </body>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var myObj = this; test.onclick = myObj.myEvent;
Partager