"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi mon jQuery sur () le gestionnaire d'événements ne fonctionne-t-il pas sur des éléments ajoutés dynamiquement?

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

Publié le 2025-03-24
Parcourir:181

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

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

Dans jQuery, la transition de live () à sur () 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 déclenche pas. Pour résoudre ce problème, plongeons le problème et identifions la solution.

La documentation pour 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 a joint les gestionnaires d'événements aux éléments ajoutés dynamiquement à la page.

pour obtenir des fonctionnalités similaires à Live (), il faut utiliser le modèle suivant:

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

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

en résumé, lors de la transition de Live () à ON (), il est crucial de lier les gestionnaires d'événements ajoutés dynamiquement des éléments, tels que ceux des listes de dépôt. Cela garantit que le code fonctionne comme prévu et répond efficacement aux interactions utilisateur.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3