Oui oui je l'ai tester juste seul sur une page et il j'ai une erreur uncaught exeption...
Je suis sous Mozilla firefox. Ça c'est bizarre O_o
Oui oui je l'ai tester juste seul sur une page et il j'ai une erreur uncaught exeption...
Je suis sous Mozilla firefox. Ça c'est bizarre O_o
J'ai effectué une série de test:
Test 1:
Résultat: marche
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 var a = alert; var b = "aaa"; a(b);
Test 2:
Résultat: Erreur habituel (uncaught exception...)
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var a = { a : alert }; var b = "aaa"; a.a(b);
Test 3:
Résultat: Pareil que le test 2
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var a = { "a" : alert }; var b = "aaa"; a.a(b);
Test 4:
Résultat: => Résultat test 2
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var a = { "a" : alert }; var b = "aaa"; a["a"](b);
Test 5:
Résultat: a[a] is not a function
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var a = { "a" : alert }; var b = "aaa"; a[a](b);
Conclusion: L'utilisation d'un objet est impossible pour le résultat désiré (?)
hmmm une idée ?
J'ai ré effectuer d'autre test: (seul le test 1 est vraiment révélateur)
Test 1:
Résultat: Marche
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 var a = { a : alert }; var c = a.a; var b = "aaa"; c(b);
Test 2:
Résultat: Marche aussi
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 var a = { a : alert }; var c = a.a; var b = "aaa"; window.c(b);
Test 3:
Résultat: Marche aussi
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 var a = { a : alert }; var c = a.a; var b = "aaa"; window[c(b)];
Test 4:
Résultat: Ne marche pas
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 var a = { a : alert }; var c = a.a; var b = "aaa"; window[c](b);
Voila on voit déjà plus ce qui marche ou non
oui c'est curieux, ffx n'aime pas la fonction encapsulée dans le json ...
test1:
test2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var a = { b : 'alert' }; var b = "hello"; window[a.b](b);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 var a = { b : function(){alert(arguments[0])} }; var b = "hello"; a.b(b);
Tes deux test sont justes
Voila mon code une fois mise a jour:
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var fonction = 'alert'; var arguments = "hello"; $("body").addEventListener("click", function (event) { window[fonction](arguments); }, false);
alert() m'affiche "[object Object]" alors que "arguments" n'est meme pas un objet
Il y a donc une mauvaise interprétation de "arguments" dans addEventListener ? O_o
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <script type='text/javascript'> var fonction = 'alert'; var argts = "hello"; $(function(){ $('#foo').click(function(){ window[fonction](argts); }); }) </script> </head> <body > <input type='button' id="foo" value='dis bonjour' /> </body> </html>
ou avec le json
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <script type='text/javascript'> var objet={a: 'alert'}; var argts = "hello"; $(function(){ $('#foo').click(function(){ window[objet.a](argts); }); }) </script>
arguments étant un objet natif javascript correspondant à un array des paramètres passé à la fonction, il est malvenu de le choisir comme nom de variable
Okay !! Et bien c'est parfait
Merci beaucoup pour ton aide !
Je te tiens au courant pour si je rencontre d'autre difficultés sur ce problème
A bientôt
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager