IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

addEventListener et le passage de variable


Sujet :

JavaScript

  1. #21
    Membre habitué Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 125
    Points
    125
    Par défaut
    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

  2. #22
    Membre habitué Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 125
    Points
    125
    Par défaut
    J'ai effectué une série de test:

    Test 1:

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var a = alert;
    var b = "aaa";
    a(b);
    Résultat: marche

    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);
    Résultat: Erreur habituel (uncaught exception...)

    Test 3:

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var a = { "a" : alert };
    var b = "aaa";
    a.a(b);
    Résultat: Pareil que le test 2

    Test 4:

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var a = { "a" : alert };
    var b = "aaa";
    a["a"](b);
    Résultat: => Résultat test 2

    Test 5:

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var a = { "a" : alert };
    var b = "aaa";
    a[a](b);
    Résultat: a[a] is not a function

    Conclusion: L'utilisation d'un objet est impossible pour le résultat désiré (?)


    hmmm une idée ?

  3. #23
    Membre habitué Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 125
    Points
    125
    Par défaut
    J'ai ré effectuer d'autre test: (seul le test 1 est vraiment révélateur)

    Test 1:

    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);
    Résultat: Marche

    Test 2:

    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);
    Résultat: Marche aussi

    Test 3:

    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)];
    Résultat: Marche aussi

    Test 4:

    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);
    Résultat: Ne marche pas

    Voila on voit déjà plus ce qui marche ou non

  4. #24
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    oui c'est curieux, ffx n'aime pas la fonction encapsulée dans le json ...


    test1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var a = { b : 'alert' };
    var b = "hello";
    window[a.b](b);
    test2
    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);

  5. #25
    Membre habitué Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 125
    Points
    125
    Par défaut
    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

  6. #26
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    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

  7. #27
    Membre habitué Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 125
    Points
    125
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Passage de variable dans addEventListener
    Par epeedelorage dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/03/2012, 18h32
  2. Passage de variable dans un lien asp
    Par VirginieGE dans le forum ASP
    Réponses: 4
    Dernier message: 27/07/2004, 10h06
  3. [Kylix] passage de variable en Libc
    Par zheng dans le forum EDI
    Réponses: 11
    Dernier message: 06/05/2004, 14h14
  4. Passage de variable par methode post ?
    Par oazar dans le forum Flash
    Réponses: 33
    Dernier message: 16/10/2003, 17h03
  5. [langage] Passage de variables...
    Par martijan dans le forum Langage
    Réponses: 8
    Dernier message: 30/07/2003, 09h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo