Maison > interface Web > js tutoriel > Comment puis-je gérer les événements sur les éléments générés dynamiquement dans jQuery ?

Comment puis-je gérer les événements sur les éléments générés dynamiquement dans jQuery ?

DDD
Libérer: 2025-01-03 17:59:42
original
342 Les gens l'ont consulté

How Can I Handle Events on Dynamically Generated Elements in jQuery?

Gestion des événements pour les éléments générés dynamiquement

Lorsque vous générez dynamiquement des éléments à l'aide de méthodes telles que Load() ou Click() de jQuery, la capture des événements déclenchés par ces éléments peut être un défi. Les gestionnaires d'événements standard attachés aux éléments statiques peuvent ne pas fonctionner pour les éléments générés dynamiquement.

La solution : la délégation d'événements

La délégation d'événements est une technique qui vous permet de gérer des événements qui jaillissent d’éléments créés dynamiquement. En déléguant l'événement à un élément ancêtre statique, vous vous assurez qu'il existe lorsque le gestionnaire d'événements est lié.

Utilisation de la méthode .on() de jQuery

Pour les versions jQuery 1.7 ou supérieur, utilisez la méthode .on() pour déléguer l'événement :

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

En utilisant Méthode .delegate() de jQuery (anciennes versions)

Pour les anciennes versions de jQuery (1.6 ou inférieure), utilisez plutôt la méthode .delegate() :

// Note the different order of selector and event
$('#modal').delegate('input', 'keyup', function() {
    handler = $(this).val();
    name = $(this).attr('name');
});
Copier après la connexion

En utilisant l'événement délégation, vous pouvez gérer efficacement les événements déclenchés par des éléments générés dynamiquement sans vous soucier de l'ordre de création des éléments et de la liaison des é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 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