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.

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);
}
Seul le paramètre "num" change à chaque boucle.

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