Bonjour,
Voilà j'ai un soucis que je n'arrive pas à solutionner seul et qui concerne en partie jquery.
Dans un objet javascript, dans une méthode de cet objet, je fais un callback en fonction anonyme.
Le soucis c'est que dans ce callback je ne peut exécuter une autre méthode de mon objet via "this.mamethode()" car Jquery a changé le scope du this.
Y a t il une solution pour garder le scope sur mon objet ?
(J'ai essayé par exemple de faire un var that=this et d'utiliser that mais là grosse erreur javascript :/).
Je vous remercie par avance si vous pouvez m'éclairer.
Une petite illustration du code pour expliquer (version simplifiée) :
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 function monObjet(param1) { //Attributs this.monParam = param1; this.monParam2 = "Pouet"; //Méthode 1 - Gesture etant unplugin Jquery this.maMethode1 = function() { $('#coverflow').gesture(function(gs){ var move = gs.moves.substring(0,1); if (move == "7" || move == "8" || move == "1") { deplacement("gauche"); //Comment appeler cette methode } if (move == "3" || move == "4" || move == "5") { deplacement("droite"); //Comment appeler cette methode } }); } //Méthode 2 - effectuant le deplacement this.deplacement = function(direction) { switch(direction) { case "gauche" : //Actions break; case "droite" : //Actions break; } } }
Partager