Bonjour
J'utilise JQuery depuis peu et je rencontre une problème lorsque je veux utiliser des fonctions JQuery dans un objet javacript :
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 : 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 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();
mais ce n'est pas très fonctionnel et empêche de réutiliser mon code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $("#bouton").click( function(e) { /* tout le contenu de ma méthode ici */ } );
Merci pour toutes pistes de solution![]()
Partager