Maison > interface Web > js tutoriel > Comment attacher des écouteurs d'événements à des éléments créés dynamiquement en JavaScript ?

Comment attacher des écouteurs d'événements à des éléments créés dynamiquement en JavaScript ?

DDD
Libérer: 2024-12-20 06:32:09
original
321 Les gens l'ont consulté

How to Attach Event Listeners to Dynamically Created Elements in JavaScript?

Attachement d'événements à des éléments créés dynamiquement en JavaScript

Lorsque vous essayez d'ajouter des éléments dynamiques à une liste créée dynamiquement et d'ajouter un écouteur d'événement au éléments créés dynamiquement, les événements peuvent ne pas se déclencher. En effet, les éléments ne sont pas disponibles au moment où les écouteurs d'événement sont attachés.

Pour résoudre ce problème, la délégation d'événement peut être utilisée. Cette technique consiste à attacher des écouteurs d'événements à un élément de niveau supérieur qui contient les éléments créés dynamiquement.

Par exemple, considérons le code suivant :

document.addEventListener("click", function(e) {
  const target = e.target.closest("#btnPrepend"); // or any other selector

  if (target) {
    // Do something with 'target'
  }
});
Copier après la connexion

Dans cet exemple, un écouteur d'événements est attaché à l'objet document, à l'écoute des événements de clic. La fonction close() est utilisée pour déterminer si l'événement click provient d'un élément avec le sélecteur #btnPrepend (ou de tout autre sélecteur défini). Si une correspondance est trouvée, l'événement est traité en conséquence.

Alternativement, jQuery propose une approche simplifiée de la délégation d'événements :

$(document).on("click", "#btnPrepend", function() {
  // Do something with `$(this)`
});
Copier après la connexion

Cette méthode attache un écouteur d'événement à l'objet document, en écoutant pour les événements de clic spécifiquement sur les éléments avec le sélecteur #btnPrepend.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal