Object converti automatiquement en String
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:
Code:
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);
} |
la méthode on de de HtmlEl défini une propriété sur le HTMLelement comme suit :
Code:
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;
} |
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]".
Avez-vous une idée ?
Merci beaucoup