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 :

Mettre une methode dans un event listener


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de FidoDido®
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 101
    Points : 81
    Points
    81
    Par défaut Mettre une methode dans un event listener
    Bonjour,
    J'essaie de mettre une méthode dans un event listener. L'évènement est bien capturé, seulement la méthode n'a pas les résultats attendus. Toutes les variables utilisant "this" sont undefined et je ne comprends pas pourquoi.

    Quelqu'un connaît-il une solution à ce problème ?

    Merci
    Pensez au TAG [Résolu]

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Du code svp
    bonjour,
    peux-tu publier ton code, c'est plus facile pour comprendre ton problème...

  3. #3
    Membre régulier Avatar de FidoDido®
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 101
    Points : 81
    Points
    81
    Par défaut
    ouep pardon...

    Par exemple voila mon .js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function Menu(idstr)
    {
    	this.ident=idstr;
    }
     
    function test()
    {
          alert(this.ident);
    }
     
    Menu.prototype.handler=test;
    var menuHaut = new Menu("abcd");
    et voici le html associé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <html>
    <!-- je passe le head -->
    <body>
    <script type="text/javascript">
    document.addEventListener("keypress",menuHaut.handler,false);
    </script>
    </body>
    Puis qd je loade la page et que j'appuie sur une touche j'ai bien l'alert mais le résultat est "undefined".
    Pensez au TAG [Résolu]

  4. #4
    Membre régulier Avatar de FidoDido®
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 101
    Points : 81
    Points
    81
    Par défaut
    ok j'ai trouvé, c'est un problème de binding

    le this de la méthode ne fait pas référence au bon objet, la solution est alors de déclarer l'Event Listener ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.addEventListener("keypress",function(evt) {menuHaut.handler(evt);},false);
    Et de cette façon ça fonctionne.
    Pensez au TAG [Résolu]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mettre le resultat d'une methode dans un comboBox
    Par obydissonn dans le forum Windows Forms
    Réponses: 6
    Dernier message: 15/06/2007, 11h12
  2. Réponses: 6
    Dernier message: 14/12/2004, 02h47
  3. Réponses: 5
    Dernier message: 03/02/2004, 14h20
  4. [Drag & Drop] Mettre une fiche dans un panel
    Par corwin_d_ambre dans le forum Composants VCL
    Réponses: 5
    Dernier message: 12/01/2004, 10h46
  5. Peut on mettre une image dans une BD MySQL ?
    Par maddog2032 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 25/07/2003, 16h18

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