11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je cherche à créer dynamique un élément auquel je cherche à attacher un évènement sur le click.

J'ai donc cette syntaxe sur Firefox qui marchait très bien :

monElement.setAttribute("onclick", "javascript:ajoutCritere(this , '" + param + "'," + Parametres[param] + "," + cumulable +");");


Puis ma collègue eu la mauvaise idée de tester sous IE. Smiley smile

En cherchant un peu sur Google, j'ai trouvé pas mal d'alternatives mais aucune d'entre elles ne semblent fonctionner dans mon cas.

(aussi bien le attachEvent que la syntaxe monElement['onclick']=...)

Une idée ?
Bonour,

le plus efficace est encore : monelement.onclick = ...

Mais sur le onclick, on ne met pas de "javascript:" mais une fonction.
Modifié par Lanza (31 Mar 2006 - 12:15)
J'ai essayé ça mais je n'ai pas réussi à arriver au résultat escompté.

Pour détailler ma problématique :

J'ai une fonction ajouterCritere().

<ul>
<li onclick="ajoutCritere( param , param , param )">Crit1</li>
<li onclick="ajoutCritere( param2 , param2 , param2 )">Crit1</li>
</ul>

Ainsi, lorsque l'utilisateur clique sur un critère, celui ci disparait de la liste et est ajouter à une autre pour donner quelquechose comme :

<ul>
<li onclick="annulerCritere(...)">Crit1</li>
</ul>

Donc quand l'utilisateur annule un critère, celui ci revient dans la liste initiale. Mais le soucis actuel est de remettre l'élément à la forme <li onclick="ajoutCritere( param , param , param )"> d'où mon besoin de manipuler l'attribut "onclick".
De plus, j'ai essayé de simplement ajouter un évenement alert( 'test' ) :

Soit l'alert est exécuter à l'annulation (plutot qu'au re-clic sur le critère) soit je reçois une erreur de type "non implémentée", soit "type n'est pas compatible".

J'ai tenté :
monElement.attachEvent("onclick" , "ajoutCritere(this , '" + param + "'," + Parametres[param] + "," + cumulable +")");


et aussi monElement["onclick"] (et la variante que tu décris plus haut) mais sans succès...