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()); });
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!