Problème de variable avec événement

Résolu
Signaler
Messages postés
8
Date d'inscription
mercredi 9 août 2006
Statut
Membre
Dernière intervention
8 septembre 2006
-
Messages postés
8
Date d'inscription
mercredi 9 août 2006
Statut
Membre
Dernière intervention
8 septembre 2006
-
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 ?
<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>



A noter que j'ai aussi essayé ceci, mais ça ne change rien :
var myObj = this;
test.onclick = myObj.myEvent;

2 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
bonjour,

   on n'arrête pas de causer de ce genre
      de syntaxe en ce moment ( pas simple d'aileurs )

 var quoi=this;
 test.onclick = function() { quoi.myEvent(); }

   et ça baigne...

<hr />
cordialement   Bul    Site    M'écrire
Messages postés
8
Date d'inscription
mercredi 9 août 2006
Statut
Membre
Dernière intervention
8 septembre 2006

Yes c'est ok !
C'est vrai que c'est un problème récurrent ces accès aux proprietés, mais ça commence a entrer là...
Merci pour ton aide!