Maison >développement back-end >tutoriel php >Pourquoi mes événements JavaScript ne se déclenchent-ils pas après l'ajout d'un élément dynamique ?

Pourquoi mes événements JavaScript ne se déclenchent-ils pas après l'ajout d'un élément dynamique ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-14 11:49:02472parcourir

Why Are My JavaScript Events Not Triggering After Dynamic Element Appending?

Les événements JavaScript ne se déclenchent pas après l'ajout d'un élément dynamique

Vous rencontrez un problème où les événements JavaScript ne se déclenchent pas après l'ajout de nouveaux éléments au DOM . En effet, jQuery ne reconnaît que les éléments présents lors de son exécution initiale lors du chargement de la page.

Pour résoudre ce problème, vous devez utiliser la délégation d'événements pour capturer les événements des éléments dynamiques. La délégation d'événements implique la capture d'événements à un niveau supérieur dans le DOM qui était déjà présent lors du chargement de la page. Cela permet aux événements des éléments nouvellement ajoutés de bouillonner et d'être gérés.

Dans votre cas, vous pouvez déléguer l'événement de clic à un élément parent qui était présent lors du chargement de la page. Par exemple, vous pouvez modifier votre code JavaScript pour utiliser la méthode on() comme suit :

$(document).on('click', '.races', function(e) {
  // Your code here
});

De cette façon, tous les nouveaux éléments ajoutés avec la classe ".races" hériteront du gestionnaire d'événements click. N'oubliez pas d'utiliser la méthode on() au lieu de click() lors de la mise en œuvre de la délégation d'événements.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn