Maison > interface Web > js tutoriel > Comment migrer de .live() de jQuery vers .on() pour les éléments ajoutés dynamiquement ?

Comment migrer de .live() de jQuery vers .on() pour les éléments ajoutés dynamiquement ?

DDD
Libérer: 2024-12-14 15:41:10
original
994 Les gens l'ont consulté

How Do I Migrate from jQuery's .live() to .on() for Dynamically Added Elements?

Mise à jour de .live() vers .on() dans jQuery

Dans les versions 1.7 et supérieures de jQuery, la méthode .live() a a été remplacé par la méthode .on() plus polyvalente. Cependant, lors de la transition vers .on(), certaines nuances doivent être prises en compte pour garantir une gestion appropriée des événements.

Un problème courant rencontré concerne les éléments ajoutés dynamiquement. Alors que .live() attache automatiquement les gestionnaires d'événements aux éléments existants et futurs correspondant à un sélecteur donné, .on() attache uniquement les gestionnaires aux éléments déjà présents dans le DOM au moment de l'appel.

Pour obtenir un résultat similaire fonctionnalité à .live() lorsqu'il s'agit d'éléments dynamiques, il est nécessaire de lier les gestionnaires d'événements à un élément de niveau supérieur (tel que le corps du document) à l'aide de la méthode .on().

Par exemple, considérez un scénario dans lequel des listes déroulantes dynamiques sont ajoutées à une page Web et des gestionnaires d'événements doivent être attachés à ces listes déroulantes pour détecter les modifications. En utilisant .on(), le gestionnaire d'événements serait lié au corps du document comme suit :

$(document.body).on('change', 'select[name^="income_type_"]', function() {
    alert($(this).val());
});
Copier après la connexion

Alternativement, il est recommandé de lier les gestionnaires d'événements aussi près que possible des éléments cibles, ce qui améliore les performances et réduit problèmes potentiels.

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