Bonjour,
Une question certes sans doute posée mille fois mais dont la réponse m’échappe un peu.
Soit :Évidemment l'objet jlc contient bien d'autres méthodes utiles que nous ne développerons pas ici.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 var jlc; jlc = {}; jlc.addEvent = function (obj, evType, fn) { if (obj.addEventListener){ obj.addEventListener(evType, fn, false); return false; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return false; } };
Dans un objet (qui est bien sûr défini par un monObjet = new Cc(); quelque part), je souhaite que dans la méthode this.changep appelée ainsi :Le mot this corresponde à l'objet monObjet correctement instancié avant et non pas à l'élément html (ici applelé this.pa).
Code : Sélectionner tout - Visualiser dans une fenêtre à part jlc.addEvent(this.pa,'change',this.changep)
Comment dois-je m'y prendre.
exemple :
En résumé, lorsque jlc.addEvent est appelé dans une méthode d'un objet, je veux this dans cette méthode soit toujours l'objet et jamais l'élément html.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Cc.prototype.comportement = function(){ jlc.addEvent(this.pa,'change',this.changep) }; Cc.prototype.changep = function(el){ // ici je veux que this corresponde bien à l'objet monObjet et non à l'élément html this.pa };
Merci !
Partager