Bonjour à tous,
En faite j'ai créer une classe en javascript avec des méthodes associées.
Tout marche nickel. Ou presque.
Ma classe permet d'afficher un menu contextuel pour une RIA (Application Internet Riche).
On peux créer plusieurs instances du menu avec différents liens ou action onclick.
En faite j'ai voulu stocké toutes les instances du menu dans un variable pour que lorsque l'on en affiche un, tous les autres se masquent (enfin la seule qui est affiché s'il y en a un (car le but c'est quil n'y en ai qu'un seul d'affiché!!)).
A ce niveau, cela marche bien. Jusqu'à que j'inclus prototype.js dans ma page, et que je fais appel à ma méthode isShow().
Le problème, c'est que une fois stocké dans un tableau, et que j'appelle la méthode isShow() depuis l'élément du tableau (genre montableau[ i ].isShow())
La fonction de prototype Element.isShow() prend le dessus et donc ça fait pas ce que je veux...
Comment faire à part renommer ma méthode ???
(EDIT : En fait, si je renomme ma méthode, ça marche même pas...
.
Y'a t'-il moyen de faire une sorte de transtypage en Javascript ??
Car le problème c'est que j'utilise abondament prototype.js...
Suis-je obligé de faire un méthode statique??
Modifié par MoOx (06 Mar 2007 - 16:44)
En faite j'ai créer une classe en javascript avec des méthodes associées.
Mx.TinyMenu = function (data) {
//...
}
//...
Mx.TinyMenu.prototype.show = function () {
if (this.isCreated()) {
this.menu.style.display = '';
this.checkOther();
return true;
} // else
return false;
}
Mx.TinyMenu.prototype.isShow = function () {
if (this.isCreated() && this.menu.style.display == '') {
return true;
} // else
return false;
}
Tout marche nickel. Ou presque.
Ma classe permet d'afficher un menu contextuel pour une RIA (Application Internet Riche).
On peux créer plusieurs instances du menu avec différents liens ou action onclick.
En faite j'ai voulu stocké toutes les instances du menu dans un variable pour que lorsque l'on en affiche un, tous les autres se masquent (enfin la seule qui est affiché s'il y en a un (car le but c'est quil n'y en ai qu'un seul d'affiché!!)).
A ce niveau, cela marche bien. Jusqu'à que j'inclus prototype.js dans ma page, et que je fais appel à ma méthode isShow().
Le problème, c'est que une fois stocké dans un tableau, et que j'appelle la méthode isShow() depuis l'élément du tableau (genre montableau[ i ].isShow())
La fonction de prototype Element.isShow() prend le dessus et donc ça fait pas ce que je veux...
Comment faire à part renommer ma méthode ???


Y'a t'-il moyen de faire une sorte de transtypage en Javascript ??
Car le problème c'est que j'utilise abondament prototype.js...
Suis-je obligé de faire un méthode statique??

Modifié par MoOx (06 Mar 2007 - 16:44)