Utiliser JQuery dans un objet javascript (contexte du this ?)
Bonjour :)
J'utilise JQuery depuis peu et je rencontre une problème lorsque je veux utiliser des fonctions JQuery dans un objet javacript :
Code:
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
|
function test ()
{
// 1. OK
$("#bouton").click( function(e) { alert("hello"); } );
// 2. Ne marche pas, la fonction evclick n'est pas trouvé
$("#bouton").click( function(e) { evclick(this); } );
// 3. Ne marche pas non plus
$("#bouton").click( function(e) { $(this).evclick(this); } );
this.evclick = function(param)
{
alert("hello encore");
}
}
// l'instanciation d'un objet "test" de cette manière
// va empêcher la fonction evclick d'être trouvée
var montest = new test();
// par contre, si on instancie comme cela,
// elle est trouvée (mais je veux bien sûr pouvoir instancier
// plusieurs objets de la même classe donc c'est inutile...)
test(); |
Je suppose que dans ce contexte, le this ne pointe plus vers l'objet instancié (ou quelque chose comme ça...), donc je n'arrive pas à appelez les méthodes de mon objet depuis cet objet. Dans mon exemple, je pourrais déclarer les instructions directement :
Code:
1 2
|
$("#bouton").click( function(e) { /* tout le contenu de ma méthode ici */ } ); |
mais ce n'est pas très fonctionnel et empêche de réutiliser mon code.
Merci pour toutes pistes de solution :)