Problème de closure ? - HTML/CSS - Programmation
Marsh Posté le 20-07-2007 à 12:18:59
Pato el canardo a écrit : Quelqu'un pourrait il me donner des explications ? |
Oui. Dans ta closure tu fais référence à "n" ; or n change à chaque passage de ta boucle : à la fin, il contient le dernier innerHtml. Toutes tes closures font référence au même "n", donc à chaque fois que tu cliques ça affiche la dernière rubrique.
Personnellement j'utiliserais plutôt quelque chose dans le genre (attention c'est juste un exemple, y'a des hacks à faire pour récupérer le target d'un evenement correctement avecIE) :
Code :
|
Marsh Posté le 20-07-2007 à 13:02:03
moi j'utiliserais this, ce qui fonctionnerait avec ie et ff
Code :
|
Marsh Posté le 20-07-2007 à 13:38:38
je reviens à la charge, car cela ne fonctionne pas sous IE
voilà le code actuel:
Code :
|
FF me retourne bien le nom de la rubrique, mais IE me retourne 'undefined' ...
Marsh Posté le 20-07-2007 à 13:47:55
tu as d'autres handlers sur ton event click pour tes elms?
Si c'est pas le cas, tu peux simplifier tout ça en faisant:
Code :
|
Qui marchera sous IE et FF.
Marsh Posté le 20-07-2007 à 13:51:24
Merci
cela fonctionne sous les deux navigateurs.
Sais tu pourquoi mon code précédent ne fonctionnait pas ?
Marsh Posté le 20-07-2007 à 13:58:58
A cause de c'est qu'expliquait cgo2
attachEvent fonctionne bizarrement, du coup le this ne represente pas l'objet sur lequel l'evenement a eu lieu. Il faut le récupérer via event.srcElement.
Donc ça pouvais pas marcher à cause de this ( et donc oui ma 1ere réponse était pas terrible )
Marsh Posté le 20-07-2007 à 14:48:39
ok, je ne suis pas certain d'avoir plus compris qu'auparavant. En tous cas, merci pour l'explication
Marsh Posté le 21-07-2007 à 12:29:31
anapajari a écrit : A cause de c'est qu'expliquait cgo2 |
Tu es mauvais, tu es mauvais hein, ne change rien .
Ca te dirais de faire du HTML/CSS/JS dans une team de warriors ?
Marsh Posté le 20-07-2007 à 12:05:56
Bonjour à tous. J'ai un petit problème de Javascript et je suppose que cela a à voir avec les closures (j'ai lu quelques trucs dessus, mais j'avoue ne pas avoir tout compris).
J'ai une liste de lien comme ça:
Le but est de pouvoir les plier/déplier en cliquant sur le titre de la rubrique (h3 ou h4)
j'ai donc la portion de code suivante :
Pour l'instant, j'aimerais afficher le nom de la rubrique en cliquant dessus. Seulement, à chaque fois, c'est le nom de la toute dernière rubrique qui s'affiche.
Quelqu'un pourrait il me donner des explications ?
Merci d'avance
Message édité par Pato el canardo le 20-07-2007 à 12:06:36