2017-10-05 8 views
0

Comment ajouter un écouteur d'événement click() sur tous les tags créés dynamiquement.Comment ajouter un écouteur d'événement click() sur <a></a> tag qui a été créé dynamiquement

J'ai une fonction qui va ajouter des écouteurs d'événements sur tous les tags une fois la page chargée. Mais mon interface utilisateur sera mise à jour avec la nouvelle balise lorsque l'utilisateur cliquera sur le bouton. Donc, je voudrais ajouter la fonction click() sur la balise créée dynamiquement aussi. Cela doit se produire indépendamment du nom de la classe ou de l'ID.

var inputs = document.querySelectorAll("a");        
for(var i = 0; i < inputs.length; i++){                 
    inputs[i].addEventListener("click", function(e){                       
      //My code..                
    });       
} 
+0

Ajouter l'écouteur d'événement à l'élément parent vous ajoutez l'élément et ensuite utiliser événement propogation pour attraper le événement comme il bouillonne. – Andy

+0

Soit 'addEventListener' à votre élément nouvellement créé, soit écoutez tous les clics de l'élément parent et déterminez quel élément enfant a été cliqué ici. – Walk

+0

link link var entrées = document.querySelectorAll ("a"); pour (var i = 0; i

Répondre

0

Vous pouvez faire une telle chose facilement avec jQuery:

<div id="placeholder"></div> 

<script>  
    $('#placeholder').on('click', 'a', function (e) { 
     // event handler for dynamically added children 
    }); 
</script> 

https://jsfiddle.net/kr8ym0sa/3/

+0

[À moins qu'une balise pour un framework ou une bibliothèque soit également incluse, une réponse JavaScript pure est attendue pour les questions avec la balise javascript.] (Https://stackoverflow.com/tags/javascript/info) – Quentin

+0

Je ne suis pas autorisé à utiliser jQuery. Ce sera vraiment utile si vous pouvez donner votre réponse en javascript. – user2613946