Problème d'externalisation d'évènement onclick [Js] - HTML/CSS - Programmation
Marsh Posté le 09-05-2006 à 13:06:02
document.getElementById('test').onclick = new Function() { alert('test');}
Marsh Posté le 09-05-2006 à 13:12:16
boulax a écrit : document.getElementById('test').onclick = new Function() { alert('test');} |
ça change pas le problème : l'évènement a lieu au chargement de la page, et non à l'évènement onclick.
Dès lors que j'utilise une fonction avec paramètre, ça marche pas. Si y a pas de paramètres, ça marche. Je capte pas là
Marsh Posté le 09-05-2006 à 13:15:28
show me teh code
Marsh Posté le 09-05-2006 à 13:28:49
le même qu'avant avec ta modif.
Code :
|
et le js
Code :
|
J'ai contourné le problème en utilisant une fonction sans paramètre, et dans la dite fonction je récupère la valeur qui m'intéresse avec this.
Donc ça marche mais je comprends pas pkoi on a pas le droit de mettre des paramètres oO
Marsh Posté le 09-05-2006 à 16:33:17
A la syntaxe
Code :
|
Je préfère largement
Code :
|
C'est une question d'habitude mais au moins tu peux récuperer l'event facilement.
Après tu peux tout a fait mettre des paramètres à la fonction il faut juste comprendre que l'appel n'est pas fait par ton objet window mais bien par ton objet input ( et c'est pour ça que le this dans la fonction pointe sur l'input et pas la window).
Marsh Posté le 09-05-2006 à 16:36:28
oki, mais quand je mets un paramètre (toujours avec le code précédent), ça marche pas
Quand j'en mets pas, ça marche.
Marsh Posté le 09-05-2006 à 16:42:03
tu peux montrer le code de ta fonction avec paramètre stp!!!
Marsh Posté le 09-05-2006 à 17:00:09
bah c'est inutile, c'est exactement comme le code que j'ai mis plus haut avec "alert". Mais je le remets avec une fonction, pour l'exemple.
Bon le code de l'input c'est toujours le même.
le js :
Code :
|
Donc là, ça m'affiche l'alerte au chargement de la page, pas quand je clique. Mais avec :
Code :
|
Bah là ca fonctionne, pas d'alerte au chargement, alerte quand tu cliques.
Marsh Posté le 09-05-2006 à 17:17:37
Tiens avec ce code ça marche:
Code :
|
[A mon avis]
C'est normal avec la syntaxe que tu utilises ça ne marche pas.
En gros tu dois passer un pointeur sur le code de ta fonction qui est ensuite interpréter par ton objet Function. Et dans ce cas les paramètre s tu peux oublier...
[/A mon avis]
Marsh Posté le 09-05-2006 à 18:03:19
[mode gros boulet ON]
l'erreur venait simplement d'un oubli de point virgule après le function(event){test('blablabal');}
[/mode]
Merci de votre aide
Marsh Posté le 18-12-2008 à 13:41:56
Mais qu'est ce que tu m'raconte
T'as jamais écris même pas une ligne de code
On calotte nous
Marsh Posté le 18-12-2008 à 14:01:55
Pas de spam merci, surtout dans un topic qui a deux ans Et vu l'image qu'on a de l'Outsourcing...
Marsh Posté le 09-05-2006 à 13:00:19
Hello, je veux externaliser les évènements js pour pas merder mon xhtml, comme expliqué ici par exemple : http://pompage.net/pompe/separation/
Mais y a un truc que je capte pas. Un exemple tout con :
Si j'ai un bouton radion comme ca
Je veux un evenement onclick pour ce bouton radio.
Dans mon fichier js je peux par exemple faire (j'ai des fonctions d'initialisation à l'évènement onload, là je simplifie)
Le souci, l'alerte s'affiche au chargement de la page, et pas du tout quand je clique sur le bouton. Aucune erreur dans la console javascript de firefox. Où est-ce que je merde ?
Edit : je viens de m'apercevoir que tout fonctionnait bien si je lançais une fonction sans parametre. Par exemple
Mais si je veu passer un paramètre à ma fonction fonction_test, je fais comment ?
Message édité par Djebel1 le 09-05-2006 à 13:07:30