Maison >développement back-end >tutoriel php >Comment puis-je gérer les événements sur les éléments DOM ajoutés dynamiquement en JavaScript ?

Comment puis-je gérer les événements sur les éléments DOM ajoutés dynamiquement en JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-20 01:37:03665parcourir

How Can I Handle Events on Dynamically Added DOM Elements in JavaScript?

Gestion des événements JavaScript après des modifications dynamiques du DOM

Lorsque des éléments JavaScript sont ajoutés dynamiquement à une page Web, il est possible de rencontrer des problèmes de gestion des événements sur ces éléments nouvellement ajoutés. Dans de tels scénarios, JavaScript ne reconnaîtra pas les éléments ajoutés et leurs écouteurs d'événements définis.

Une solution à ce problème est la délégation d'événements. En utilisant la délégation d'événements, les événements remontent des éléments nouvellement ajoutés vers un élément parent existant qui était disponible au moment de l'initialisation de JavaScript. Plutôt que d'attribuer des écouteurs d'événements à chaque élément ajouté dynamiquement, affectez-les à un élément parent de niveau supérieur qui contient à la fois des éléments existants et futurs.

Dans le contexte de votre code spécifique, envisagez plutôt d'utiliser la méthode on(). de la méthode click() pour implémenter les gestionnaires d'événements. La méthode on() prend en charge la délégation d'événements, permettant aux événements d'être délégués à un parent qui était présent lors du chargement de la page.

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

En incorporant la délégation d'événements dans votre code, vous vous assurerez que les gestionnaires d'événements sont enregistré et fonctionnel sur les éléments ajoutés dynamiquement, résolvant le problème où les écouteurs d'événements JavaScript ne parvenaient pas à se déclencher pour les éléments ajoutés dans votre application.

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