IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Appel d'une fonction lors d'un évenement


Sujet :

jQuery

  1. #1
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Par défaut Appel d'une fonction lors d'un évenement
    Avec la petite fonction ci-dessous, j'ai un petit problème (je suis un peu rouillé du javascript) et je ne sais plus comment le résoudre.
    J'ai simplifié la fonction, elle ne sert pas à grand chose comme ca, c'est juste pour trouver la solution.
    Il faudrait que pour les 3 boutons créés le 1er me fasse un alert "1", le 2eme "2" et le 3eme "3". Or là, ils me sortent chacun "3", la derniere valeur de j...
    Comment faire ?
    Merci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $( init );
    function init() {
    	for ( var j=0; j<3; j++ )
    	{
    		$('<button>Info</button>').appendTo( '#content' ).click( function(){alert(j);} );			
    	}
    }

  2. #2
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    bonjour,

    je ne m'y connais pas trop en jQuery, donc il existe p-ê plus simple que la solution que je vais te proposer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function myContext(value){
    	return function(){alert(value);};
    }
    for ( var j=0; j<3; j++ ){
    	$('<button>Info</button>').appendTo( '#content' ).click( myContext(j) );			
    }

  3. #3
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Par défaut
    Merci, ca fonctionne !

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 213
    Par défaut
    Bonsoir,
    il existe aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function init() {
      for ( var j=0; j<3; j++ )	{
        (function(param){
          $('<button>Info</button>').appendTo( '#content' ).click( function(){alert(param);} );
        })(j);
      }
    }
    sans passer par une autre fonction, mais c'est bien le diable s'il n'existe pas une solution jQuery !
    non testée

  5. #5
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Solution jQuery :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $.each([1, 2, 3], function(i, item){
    	$("<button/>", {
    		"text": "Info",
    		"click": function(){
    			alert(item);
    		}
    	}).appendTo("#content");
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. IE7 lors de l'appel d'une fonction JS
    Par foued_scorpion dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/04/2007, 14h19
  2. Réponses: 3
    Dernier message: 13/12/2006, 16h01
  3. Créer un tableau lors de l'appel d'une fonction
    Par MiJack dans le forum Langage
    Réponses: 11
    Dernier message: 01/02/2006, 11h18
  4. Réponses: 2
    Dernier message: 09/01/2006, 09h38
  5. Réponses: 5
    Dernier message: 06/01/2006, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo