Bonjour,
Je ne trouve pas réponse sur le net alors voici mon problème.
Je génère des DIVs dans une boucle auxquels j'affecte des événements onmouseover, la fonction d'exécution à l'appel de l'événement reçoit deux paramètres différents à chaque boucle et donc pour chaque DIVs.
Le problème étant que le dernier des événements "onmouseover", qui est donc celui qui est affecté au dernier des DIVs, est affectés à l'ensemble des DIVs générés.
Voici ma ligne ajoutant l'événement, elle fonctionne car je l'utilise depuis longtemps, cela dit, c'est la première fois que je l'utilise dans une boucle.
Seul le paramètre "num" change à chaque boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for(.....) { addEvent(_ctn_vue.id,'mouseover', function() change(ref,num);}, false); }
J'ai pour le moment mis une simple alerte pour afficher le paramètre "num" dans la fonction change(). Normalement, à chaque passage de souris sur chaque DIV je devrais avoir des alertes respectives de "num" qui contient un simple compteur : "1" puis "2" puis "3" etc... jusque "9".
Or pour tous les DIVS j'ai "9" qui s'affiche sur l'alerte... c'est-à-dire celle du dernier événement affecté.
J'ai bien sur vérifié mon compteur, il est bien initialisé avant chaque addEvent().
Qu'oublis-je ? Quelqu'un peut-il me donner une précision sur le fonctionnement du gestionnaire d'événement que je ne maitrise pas ?
Merci
Partager