Fonction avec param�tre sur onclick
Bonjour � tous,
Je savais d�j� que l'on en pouvais pas assigner de fonction avec param�tre sur les onclick d'�l�ments HTML de cette fa�on :
Code:
1 2
|
monElement.onclick = maFonction(param); |
Ce qui execute la fonction.
J'ai donc cherch� et vu que l'on pouvais faire comme �a :
Code:
1 2
|
monElement.onclick = function() { maFonction(param); } |
Ce qui marche pour un param�tre fixe, mais qui se g�te lorsque l'on veut faire changer le param�tre en fonction de l'�lement sur lequel on applique le onclick.
Voici ma situation :
Je poss�de un tableau d'�lement HTML.
Je poss�de �galement une fonction qui prend en param�tre l'indice de l'�lement dans ce tableau.
Je voudrais, pour assigner � tous mes �lements de mon tableau une fonction onclick faire quelque chose dans le genre :
Code:
1 2 3 4 5
|
for(i in monTableauDElement)
{
monTableauDElement[i].onclick = function() { maFonction(i); };
} |
Ce code fonctionne, pas de bug � l'execution, mais pas comme je le veux.
En effet, la valeur de i changeant tout au long de la boucle, tous mes �lements finissent par appeler ma fonction avec comme param�tre le i le plus grand.
En pratique au lieu d'avoir �a (r�sultat attendu) :
Code:
1 2 3 4 5
|
monTableauDElement[0] = function() { maFonction(0); };
monTableauDElement[1] = function() { maFonction(1); };
monTableauDElement[2] = function() { maFonction(2); };
monTableauDElement[3] = function() { maFonction(3); }; |
J'ai :
Code:
1 2 3 4 5
|
monTableauDElement[0] = function() { maFonction(3); };
monTableauDElement[1] = function() { maFonction(3); };
monTableauDElement[2] = function() { maFonction(3); };
monTableauDElement[3] = function() { maFonction(3); }; |
J'ai essay� plein de bidouilles avec des eval, mais impossible de garder fixe mon i pour chacun de mes �lements.
Voila tout mon probl�me, j'esp�re avoir �t� le plus clair possible. Si vous ne comprenez pas un point faites le moi savoir.
Si quelqun � une r�ponse ou un d�but de piste je suis preneur !!
Merci d'avance.