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 :

Comment réaffecter les evements de balises insérées dynamiquement avec jquery !


Sujet :

jQuery

  1. #1
    Membre du Club Avatar de undercrash
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Points : 64
    Points
    64
    Par défaut Comment réaffecter les evements de balises insérées dynamiquement avec jquery !
    Bonjour à tous,
    voici les balises concernées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <div id='controle'>
    <br/>
    <dl></dl>
    <form>
       <input type="button" class='foo_btn' value="Plus d'aide &raquo;"></input>
    </form>
    </div>
    j'insere grâce a jquery et à sa fonction append(), le code suivant dans la balise <dl> ci-dessus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <dt><a>txt1</a></dt> 
      <dd>Dommage ...</dd> 
    <dt><a>txt2 ?</a></dt>
      <dd>Bah... dommage aussi!</dd>
    Ces balises sont géré par jquery et servent à afficher un menu vertical avec un slide.
    (<dt> le sujet et <dd> le contenu)

    Le probleme c'est qu'en insérant ces balises dynamiquement avec jquery, les evenements click ne fonctionnent plus.

    Que faut-il faire pour qu'elles soient prisent en compte comme si elles étaient entrées en dur en html ?

    Bonne journée

  2. #2
    Membre du Club Avatar de undercrash
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Points : 64
    Points
    64
    Par défaut
    J'ai trouvé la solution sur le channel IRC #jquery :

    Il faut utiliser live() qui permet de redéfinir un évenement ( click sur les balises <a> dans les balises <dt> dans le cas ci dessous ).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $("dt a").live("click", function(){      
          $("dd:visible").slideUp("slow");
          $(this).parent().next().slideDown("slow");
    });

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 20/12/2013, 21h23
  2. Changer les index de controles insérés dynamiquement
    Par BM42 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/10/2007, 14h49
  3. Retrouver les index de contrôles insérés dynamiquement
    Par BM42 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 18/10/2007, 17h57
  4. Réponses: 2
    Dernier message: 15/05/2007, 10h34
  5. Réponses: 2
    Dernier message: 02/08/2006, 23h54

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