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 :

[jQuery] Attribution d'évènement basique


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Par défaut [jQuery] Attribution d'évènement basique
    Bonjour, j'ai un souci de compréhension en jquery, c'est surement tout bête

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $(".edit").click( function(){
    	var id_edit = $(this).attr('id');
    	$('input[name=' + id_edit + ']').show();
    	$(this).blur( function(){
    		$('input[name=' + id_edit + ']').hide();
    		alert('ici');
    	});
    });
    et mon code html:
    <a href="#" id="titre" class="edit">éditer</a>
    <input type="text" name="titre" class ="cache" />

    Le champ input est caché par défaut,
    mon souci est problème de "redondance",
    Lorsque l'on clique sur edit, puis à coté, l'alert se lance bien une fois.
    Puis lorsque l'on répète l'action, elle se lance 2 fois. Puis 3 fois, ainsi de suite.

    Je cherche à comprendre cette répétition, c'est surement la base du jquery, je cherche également à l'enrayer.

    Merci d'avance pour vos explications.

  2. #2
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Ton problème vient du fait qu'à chaque fois que tu cliques, tu attaches une fonction sur l'événement blur.

    Je ne connais pas bien jQuery, mais essaye ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    $(".edit").click( function(){
    	var id_edit = $(this).attr('id');
    	$('input[name=' + id_edit + ']').show();
    });
    $(".edit").blur( function(){
            var id_edit = $(this).attr('id');
    	$('input[name=' + id_edit + ']').hide();
    	alert('ici');
    });

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Par défaut
    Merci pour ta réponse, j'ai souvent tendance à mettre un événement dans un autre et je me retrouve toujours avec se souci.
    Je me rend compte que mon exemple est un peu bête, si on clique dans l'input l'événement blur se déclenche et cache celui-ci
    Je vais devoir trouver une autre manière de procéder

    merci à vous, bye

Discussions similaires

  1. [JQuery] 1 seul événements sur 2 (au choix)
    Par popovitch130 dans le forum jQuery
    Réponses: 4
    Dernier message: 25/11/2008, 22h34
  2. [JQuery] Redéfinition d'évènement
    Par adrien971 dans le forum jQuery
    Réponses: 10
    Dernier message: 25/11/2008, 14h32
  3. Attributs pour évènements
    Par DranDane dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/09/2008, 14h19
  4. [C#]Attribut d' événements
    Par ClaudeBg dans le forum Windows Forms
    Réponses: 6
    Dernier message: 05/09/2008, 12h52
  5. Réponses: 3
    Dernier message: 14/03/2008, 17h04

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