Maison > interface Web > js tutoriel > Pourquoi mon gestionnaire d'événements jQuery on() ne fonctionne-t-il pas sur les éléments ajoutés dynamiquement ?

Pourquoi mon gestionnaire d'événements jQuery on() ne fonctionne-t-il pas sur les éléments ajoutés dynamiquement ?

DDD
Libérer: 2024-12-06 02:32:12
original
238 Les gens l'ont consulté

Why Doesn't My jQuery on() Event Handler Work on Dynamically Added Elements?

Trouver un correctif pour le gestionnaire d'événements on() de jQuery

Dans jQuery, la transition de live() à on() pour la gestion des événements a été un sujet de discussion. Les utilisateurs ont rencontré des problèmes où le gestionnaire d'événements on() ne se déclenche pas. Pour résoudre ce problème, approfondissons le problème et identifions la solution.

La documentation de on() indique clairement que les gestionnaires d'événements sont liés uniquement aux éléments qui existent sur la page lorsque le code est exécuté. Cela contraste fortement avec le comportement de live(), qui attachait des gestionnaires d'événements aux éléments ajoutés dynamiquement à la page.

Pour obtenir une fonctionnalité similaire à live(), il faut utiliser le modèle suivant :

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

Cette approche lie le gestionnaire d'événements non seulement aux éléments existants mais également aux éléments qui seront ajoutés dans le futur. Il est impératif de lier le gestionnaire d'événements aussi près que possible des éléments cibles pour des performances optimales.

En résumé, lors de la transition de live() à on(), il est crucial de lier les gestionnaires d'événements aux éléments ajoutés dynamiquement, tels que comme ceux des listes déroulantes. Cela garantit que le code fonctionne comme prévu et répond efficacement aux interactions des utilisateurs.

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