Maison >interface Web >js tutoriel >Comment puis-je gérer les événements sur les éléments générés dynamiquement dans 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'); });
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'); });
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!