Maison > interface Web > js tutoriel > Comment puis-je capturer des événements à partir d'éléments générés dynamiquement dans un modal ?

Comment puis-je capturer des événements à partir d'éléments générés dynamiquement dans un modal ?

Barbara Streisand
Libérer: 2024-12-18 11:15:17
original
246 Les gens l'ont consulté

How Can I Capture Events from Dynamically Generated Elements Within a Modal?

Capture d'événements à partir d'éléments générés dynamiquement

Vous rencontrez un problème où les événements déclenchés par des éléments générés dynamiquement dans un DIV modal ne sont pas capturé par votre gestionnaire d’événements existant. Ce problème survient en raison de la nature dynamique de ces éléments, qui sont ajoutés après la liaison du gestionnaire d'événements.

Pour résoudre ce problème, jQuery propose deux méthodes : .on et .delegate (pour les versions de jQuery antérieures à 1.7 ). Ces méthodes vous permettent de déléguer l'événement à un élément ancêtre statique qui existe lorsque le gestionnaire est lié. Dans ce cas, le DIV modal agit comme l'ancêtre statique.

En utilisant .on ou .delegate, vous pouvez vous assurer que les événements remontent jusqu'à l'élément ancêtre et déclenchent le gestionnaire d'événements, même pour les éléments générés dynamiquement au sein de il. Voici le code mis à jour qui utilise la méthode .on :

$('#modal').on('keyup', 'input', function() {
    handler = $(this).val();
    name = $(this).attr('name');
});
Copier après la connexion

Alternativement, pour les versions de jQuery antérieures à 1.7, vous pouvez utiliser la méthode .delegate comme suit :

$('#modal').delegate('input', 'keyup', function() {
    handler = $(this).val();
    name = $(this).attr('name');
});
Copier après la connexion

En implémentant ceci solution, vous pouvez capturer et gérer efficacement les événements déclenchés par des éléments générés dynamiquement dans le DIV modal, en garantissant que l'entrée de l'utilisateur est enregistrée comme attendu.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal