ludoviskm
Messages postés9Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention20 janvier 2009
-
20 janv. 2009 à 09:45
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 2015
-
20 janv. 2009 à 14:38
Bonjour à tous.
Je suis en train de developper une classe "Calendar" a partir de truc trouvé à droite et a gauche sur le net.
L'objet est instancié de la facon suivante :
Cal = new Calendar("19/01/2009","19/01/2009","div_calendar",null);
Ceci me crée un calendrier dans la div "div_calendar" avec deux bouton en haut qui me permettent de changer de mois. Ce calendrier est ecrit par des DOM.
Lorsque j'appelle la methode Cal.ChangeCurrentMonth(+1); dans mon fichier html cela marche parfaitement, mon calendrier s'incremente.
Aussi, dans ma methode qui ecrit le DOM, j'ai ajouté l'instruction suivante sur les boutons en question : (pour firefox)
Mais la console d'erreur me dis que this.ChangeCurrentMonth(+1) est inconnu (logique je dirai car j'ecris la methode onClick sur l'element, et a cet instant this est une cellule DOM). J'ai donc testé en mettant ca :
oTd.setAttribute("onClick","Cal.ChangeCurrentMonth(+1);"); // Cal est le nom de mon objet instancié
Et ca marche (logique), mais ce n'est pas tres propre du tout (oui integrer le nom de l'instance dans la classe c'est tres moche). Aussi comment pourrais je faire pour resoudre ce problème? En gros il faudrait que soit je recuperer le nom de l'instance dans ma classe (par reflexivité?? je ne sais pas si c'est possible..) soit trouver un autre moyen.
Vous remrciant par avance.
A voir également:
[JS] Débutant : Problème avec une classe et fonction..
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 20 janv. 2009 à 11:17
bonjour,
....
var tmp=this;
oTd.onclick=function()
{ tmp.ChangeCurrentMonth(+1); }
...
peut-être ? j'aime pas setAttribute qui ne fonctionne pas pareil partout
Cordialement [mon Site] [M'écrire] Bul
ludoviskm
Messages postés9Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention20 janvier 2009 20 janv. 2009 à 14:08
Effectivement il fallait passer par une variable intermediaure.. Curieux.
De plus j'ai viré le setAttributes qui m'oblige une detection de navigateur...!
Encore merci!
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 20 janv. 2009 à 14:38
>>Curieux.
ben non... tu as expliqué toi même
a cet instant this est une cellule DOM mais je t'accorde que cela ne s'invente pas et que
si je n'avais pas trouvé un exemple... je ne sais plus où...
>>De plus j'ai viré le setAttributes qui m'oblige une detection de navigateur...!
utiliser setAttribute oblige à tester ou ne pas utiliser ?
ne pas utiliser, ne nécessite rien d'autre que mon exemple justement, et j'aime mieux
mais bon... chacun ses goûts et la caravane passe en ne faisant pas le moine