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 :

Mettre un événement click sur un élément ajouté


Sujet :

jQuery

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Mettre un événement click sur un élément ajouté
    bonjour tout le monde,
    J'ai un souci de bonne pratique...
    explication
    dans ma page j'ai <div id="a">clic pour ajouter c</div> <div id="b"></div>.
    Jusque là, ça va.
    Ensuite, si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#a').onclick(function(){$('#b').html('<div id="c">click pour voir</div>')})
    Jusque là tout fonctionne mais si j'ajoute à ma page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#c).onclick(function(){alert('ca marche')})
    Ben là ça ne fonctionne pas...
    Je ne comprends pas vraiment pourquoi.
    Quelqu'un à une idée ?

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 372
    Points : 23 628
    Points
    23 628
    Par défaut
    Bonjour et bienvenue,

    Je n'utilise jamais JQuery à titre personnel, mais il me semble que dans ce contexte, c'est .click() et pas .onclick() qu'il faut utiliser.
    En outre, il manque ici une apostrophe fermante après #c mais je suppose qu'il s'agit d'une faute de frappe dans le forum et pas dans ton code.

    Bon courage.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    C’est ça. Il est un peu tard et j’ai fais le message un peu vite fait. Il s’agit de fautes de frappes, j’ai essayé en js pur document.getElmentbyid... et là c’es Click alors je me suis embrouillé mais mon code est bon. Ce qui est bizarre c’e Que je peux récupérer le val() d’un input ajouté mais pas l’event Click par exemple. Si j’ajoute onclick dans la balise, le code s’execute mais si j’appelle une fonction précédemment crée il me dit que cz n’est pas une fonction???
    Bon, je ne suis peut-être plus très clair à presque minuit apres 4:00 de dev plus ma journée de boulot...

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    L'élément n'existant pas au chargement de la page lors de l'attribution par script des events, il faut attribuer l'event à partir d'un parent qui lui existe:

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="a">
     
    </div>

    attribution de l'event alors que l'id c n'existe pas encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $('#a').on("click", "#c", function(){ alert('ca marche') });
    creation de l'element #c après avoir attribué l'event à partir du parent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#a").append( $('<div id="c">click pour voir</div>') );

    sinon regarde du coté de .delegate()
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  5. #5
    Membre averti Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 632
    Points : 405
    Points
    405
    Par défaut
    Cela en javascript fonctionne aussi.
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <body>
    	<div id="a">clic pour ajouter c</div>
    	<p></p>
    	<script type="text/javascript">
            var ajouter=document.getElementById('a');
            var alerter=document.querySelector('p');
            ajouter.addEventListener('click',ajout);
            function ajout(){alerter.innerHTML='<p>click pour alerter</p>';};
            alerter.addEventListener('click',ajout2);
            function ajout2(){alert('ca marche');};
            </script>
    </body>

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    En attribuant l'event après la création de l'objet ... forcément ...
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Nickel, je valide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#a').on("click", "#c", function(){ alert('ca marche') });
    Je pensais bien que c'était un truc du genre mais ce qui est étrange c'est que l'on puisse récupérer le .val() d'un élément ajouté sans passer par son parent.
    Merci le retraité
    P.S : Je préfère ça que l'autre solution

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Non ce n'est pas étrange il a un value d'office ...
    Mais il n'a pas d'événement click attribué d'office, donc si tu ne lui attribue pas ...
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Non prise en compte événement click sur tous les éléments
    Par pat_fr38 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/10/2014, 13h39
  2. Réponses: 3
    Dernier message: 09/07/2014, 14h57
  3. [2.0] Générer un événement click sur un textbox
    Par dieuzorro dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 27/02/2008, 21h26
  4. Problème d'évènement click sur mon onglets
    Par bitou11 dans le forum Access
    Réponses: 7
    Dernier message: 02/08/2006, 23h24
  5. événement Click sur Check et option button ??
    Par badsepuku dans le forum IHM
    Réponses: 3
    Dernier message: 09/02/2006, 12h51

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