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 :

problème de variable avec événement


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Points : 25
    Points
    25
    Par défaut problème de variable avec événement
    Mmm voila, j'ai un problème avec la proprieté "arg" de ma classe : lorsque je passe par l'event handler, elle n'est plus définie :-(
    Je pense que c'est parce que le "this" ne représente pas mon objet dans mon event handler, mais l'objet window plutot... mais si c'est ça, comment faire pour passer un argument à mon event handler ?
    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
    34
    35
    36
     
    <html>
    <head>
    <script type="text/javascript">
    var testClass = function(){
     	this.arg = "myArg";
    }
     
    testClass.prototype.test = function(){
    	var test = document.createElement("div");
    	test.style.width = "50px";
    	test.style.height = "50px";
    	test.style.background = "red";
    	test.onclick = this.myEvent;
     
    	document.body.appendChild(test);
     
    	alert(this.arg);
    }
     
    testClass.prototype.myEvent = function(e){
    	alert(this.arg);
    }
     
    function launchFct(){
    	var t = new testClass();
    	t.test();
    }
     
    </script>
    </head>
     
    <body>
    <input type="button" value="clickMe" onclick="launchFct()"/>
     
    </body>
    A noter que j'ai aussi essayé ceci, mais ça ne change rien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var myObj = this;
    test.onclick = myObj.myEvent;

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 647
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 647
    Points : 11 136
    Points
    11 136
    Par défaut
    bonjour,

    essaye cette syntaxe (j'ai supprimé "prototype"):

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    testClass = function()
    {
        this.arg = "myArg";
        this.test = function()
        {
        	var divTest = document.createElement("div");
        	divTest.style.width = "50px";
        	divTest.style.height = "50px";
        	divTest.style.background = "red";
        	divTest.onclick = this.myEvent;
     
        	document.body.appendChild(divTest);
     
        	alert(this.arg);
        }
     
        this.myEvent = function(e)
        {
            alert(this.arg);
    	}
    }
     
     
     
    function launchFct()
    {
    	var t = new testClass();
    	t.test();
    }
     
    //-->
    </script>
     
    </head>
     
    <body>
    <input type="button" value="clickMe" onclick="launchFct()"/>
    </body>
     
    </html>

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

Discussions similaires

  1. [AC-2010] Problème url variable avec le navigateur web
    Par nianiania dans le forum Access
    Réponses: 2
    Dernier message: 14/03/2012, 20h55
  2. Réponses: 0
    Dernier message: 16/04/2010, 17h21
  3. problème de variables avec script awk
    Par zcoul dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 19/02/2008, 14h16
  4. Problème de variable avec awk
    Par carlou135 dans le forum Linux
    Réponses: 5
    Dernier message: 24/11/2007, 09h30
  5. Problème de variables avec SQL
    Par sabchris dans le forum SQL
    Réponses: 2
    Dernier message: 01/10/2007, 10h10

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