Bonjour,
J'ai créé un objet HtmlEl qui permet de manipuler des HTMLelement (getHeight, getWidth, setContent, etc...). Cet objet contient une méthode on(event, function, scope) qui permet de definir un évènement sur l'element HTML :
exemple:
la méthode on de de HtmlEl défini une propriété sur le HTMLelement comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 mamethode : function() { var v = new HtmlEl(name); this.title = "mon titre"; v.on("click", function() { scope = this.getScope(); scope.title = "nouveau titre"; } , this); }
Ce système fonctionne la plupart du temps sauf à un moment où le this.scope se transforme en String immédiatement et devient la chaine "[object Object]".
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 HTMLElement.prototype.setScope = function(scope) { this.scope = scope; } HTMLElement.prototype.getScope = function() { return this.scope; } //methode on de HtmlEl on: function(e, fct, scope) { //components : objet permettant de passer dans l'evenement les instances qui sont utilisées this.element.setScope(scope); this.element["on"+e] = fct; }
Avez-vous une idée ?
Merci beaucoup
Partager