Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/04/2011, 11h59   #1
Nouveau Membre du Club
 
Inscription : juin 2008
Messages : 116
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 116
Points : 33
Points : 33
Envoyer un message via MSN à spy74
Par défaut Objet avec jquery

Bonjour,
J'ai un problème d'objets avec jquery.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
	this.getNext = function(){
		this.getStep(stepCourant+1);
	}
	this.getBack = function(){
		this.getStep(stepCourant-1);
	}
 
	//Defaut
	this.getStep(0);
 
	/*
	 * Action button
	 */
	$(DomButton.Back).click(function (){
		this.getBack();
	});
	$(DomButton.Next).click(function (){
		this.getNext();
	});
le mot clé this dans la fonction click() de jquery n'est pas le même que pour l'ensemble de ma class.
Comment puige faire pour faire passer mon obj courant (this) dans l'obj click.

donc j'ai fait ceci
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
 
	this.getNext = function(){
		this.getStep(stepCourant+1);
	}
	this.getBack = function(){
		this.getStep(stepCourant-1);
	}
 
	//Defaut
	this.getStep(0);
 
	/*
	 * Action button
	 */
	var o = this;
	$(DomButton.Back).click(function (){
		o.getBack();
	});
	$(DomButton.Next).click(function (){
		o.getNext();
	});
	$(DomButton.Submit).click(function (){
		alert("Vous êtes arrivée a al fin du formulaire :)")
	});
la cela fonction mais es qu'il aurait une manière plus propre ou plus optimiser vue que javascript est obliger de doublé mon obj en mémoire
spy74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 13h23   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 009
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 009
Points : 45 094
Points : 45 094
le fameux that = this
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 14h08   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 806
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 806
Points : 35 803
Points : 35 803
this correspond toujours à l'objet qui a créé l'instance.
Donc quand tu écris
Code :
1
2
3
$(DomButton.Back).click(function (){
	this.getBack();
});
c'est l'objet $(DomButton.Back) qui crée l'instance de click() et c'est donc lui qui, dans la fonction appelée, devient la référence à this.
Pour y pallier, comme l'indique Spaffy, tu peux passer par une variable that qui sera une référence à this (et donc qui évoluera en même temps).
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 16h33   #4
Nouveau Membre du Club
 
Inscription : juin 2008
Messages : 116
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 116
Points : 33
Points : 33
Envoyer un message via MSN à spy74
enfait cela correspond à mon deuxème cas avec
spy74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 16h40   #5
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 806
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 806
Points : 35 803
Points : 35 803
Citation:
javascript est obliger de doublé mon obj en mémoire
Apparemment, tu n'as pas lu mes explications...

obj n'est pas doublé en mémoire puisque o dans ton cas est juste une référence à this.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 16h54   #6
Nouveau Membre du Club
 
Inscription : juin 2008
Messages : 116
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 116
Points : 33
Points : 33
Envoyer un message via MSN à spy74
si si j'ai comprit cependant je trouve cette méthode "bizarre" ^^ mais bon ...

Je te remercie pour l'explication

Cordialement

Vinc
spy74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h19.


 
 
 
 
Partenaires

Hébergement Web