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 :

Prototypage et écouteur d'évènement


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut Prototypage et écouteur d'évènement
    Bonsoirs à tous,

    Je commence de suite par le vif du sujet, le script...:

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <html>
    <head>
    <script>
    var maClass =  function()
         {
         this.element = null ;
         this.elementWidth = null ;
         }
     
    maClass.prototype.config()
         {
         this.elementWidth = document.getElementById(this.element).offsetWidth ;
         document.getElementById(this.element).onclick = this.trying ;
         }
     
    maClass.prototype.trying()
         {
          alert(this.elementWidth) ;
         }
    </script>
    </head>
    <body>
    <span class="monSpan" id="monSpan">Push</span>
    <script>
     
    var monObjet = new maClass() ;
    monObjet.element = "monSpan" ;
    monObjet.config() ;
     
    </script>
    </body>
    </html>
    Ma question est la suivante :

    Avec un script tel que celui-ci, comment garder la valeur des attributs, d'une méthode à l'autre, lors d'évènement de type "onclick", "onmouseover", "onkeyup", etc... ?

    Ce script renvoie au onclick un alert("undefined").

    Merci à tous pour vos réponses.

  2. #2
    jnore
    Invité(e)
    Par défaut
    Salut,

    Tu as fait une erreur. Ce n'est pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var maClasse =  function()
         {
         this.element = null ;
         this.elementWidth = null ;
         }
    mais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var maClass =  function()
         {
         this.element = null ;
         this.elementWidth = null ;
         }

  3. #3
    jnore
    Invité(e)
    Par défaut
    ceci dit un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function maClass()
         {
         this.element = null ;
         this.elementWidth = null ;
         }
    suffirait.

  4. #4
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut
    Ah oui merci, je corrige mon erreur de frappe de suite sur le post...

    Mais ça ne résout pas le problème malheureusement.

  5. #5
    jnore
    Invité(e)
    Par défaut
    essaie ceci cela doit marcher, en tout cas sous FF4.
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <html>
    <head>
    <script>
    function maClass()
         {
         this.element = null ;
         this.elementWidth = null ;
         }
     
    maClass.prototype.config =function()
         {
         this.elementWidth = document.getElementById(this.element).offsetWidth ;
         document.getElementById(this.element).addEventListener('click',function(){monObjet.trying()}, false) ;
         }
     
    maClass.prototype.trying=function()
         {
          alert(this.elementWidth) ;
         }
    </script>
    </head>
    <body>
    <span class="monSpan" id="monSpan">Push</span>
    <script>
     
    var monObjet = new maClass() ;
    monObjet.element = "monSpan" ;
    monObjet.config() ;
     
    </script>
    </body>
    </html>
    regarde bien l'ecriture des méthodes.

  6. #6
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut
    Merci c'est ce qu'il me fallait.

    J'ai par conséquent deux questions :

    La première => Est-ce que je peux faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var object = this ;
    addEventListener('click',function(){object.trying()}, false)
    ?

    La deuxième => Est-ce qu'en faisant ceci je suis compatible pour tous les navigateurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(navigator.appName == "Microsoft Internet Explorer")
         {
         document.getElementById("x").attachEvent("onclick", maFonction);
         }
    else
         {
         document.getElementById("x").addEventListener("click", maFonction, false);
         }
    ?

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

Discussions similaires

  1. threading et écouteur d'événements
    Par zerros dans le forum Général Python
    Réponses: 14
    Dernier message: 07/01/2013, 15h03
  2. Réponses: 2
    Dernier message: 04/08/2012, 19h22
  3. Réponses: 2
    Dernier message: 22/06/2011, 15h21
  4. Passage d'arguments à un écouteur d'événements
    Par JockdiL dans le forum ActionScript 3
    Réponses: 3
    Dernier message: 14/08/2009, 13h35
  5. [POO]Où placer les écouteurs d'évènement utilisateur?
    Par ChriGoLioNaDor dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 03/09/2008, 07h28

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