[javascrip] Modifier le comportement onclick

Résolu/Fermé
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 22 déc. 2006 à 12:10
 SilvR - 19 févr. 2009 à 12:29
Bonjour,

Je voudrais savoir si l'un de vous sais comment modifier le comportement onclick d'un élément en javascript ?

Je m'explique, j'ai une liste d'affiche à faire "défilerer" de droite à gauche ou de gauche à droite selon que l'utilisateur clique sur le bonton de défilement gauche ou droit.

La propriété onclick de ces boutons se trouve modifier (fonction différente appelée) s'il n'y a plus d'image à faire défiler d'un coté (droite ou gauche, qu'inporte).

Voici le code utilisé pour l'instant, mais ca ne fonctionne pas :
// --- Modify the behavior of the 'avance' button
			var div_but_avance = document.getElementById("div_bouton_avance");
			div_but_avance.style.visibility = "visible";
			div_but_avance.onclick = "displayCurrentPlayerInBox(box,id_player4,list_players)";


Help me please :)

A voir également:

2 réponses

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
22 déc. 2006 à 13:30
J'ai trouvé mon erreur :) (ca vous fait une belle jambe hein :p)

Voilà la solution, remplacer ceci :
div_but_avance.onclick = "displayCurrentPlayerInBox(box,id_player4,list_players)";

par celà :
			
div_but_avance.onclick = new Function('showPlayers("'+box._lib+'",'+id_player4+');');


semble la bonne maniere de procéder :)
3
Le mieux serait de faire une fonction anonyme qui appelle ta vrai fonction

div_but_avance.onclick = funtion(){ displayCurrentPlayerInBox(box,id_player4,list_players); };

pour le element.onclick il faut passer une référence à une fonction et non le résultat ou une chaine de caractères. C'est pour cela que ta première version ne fonctionnait pas et que la seconde oui. Voilà c'était juste pour apporter une explication.

Ça fait plus de 2 ans que tu as trouvé la solution mais d'autre auront bien le même problème :oP
3