"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 > Comment lier des événements « onclick » à des éléments HTML ajoutés dynamiquement avec jQuery ?

Comment lier des événements « onclick » à des éléments HTML ajoutés dynamiquement avec jQuery ?

Publié le 2024-11-09
Parcourir:952

How to Bind 'onclick' Events to Dynamically Added HTML Elements with jQuery?

Liaison d'événements dynamiques avec jQuery : résoudre le problème « onclick »

Dans le domaine du développement front-end, il est courant d'ajouter dynamiquement Éléments HTML à la page. Cependant, lier des événements à ces éléments nouvellement ajoutés peut s'avérer délicat, car les méthodes traditionnelles de liaison d'événements peuvent ne pas fonctionner comme prévu.

Le problème : événements en direct ou événements délégués

Lorsqu'il s'agissait d'éléments ajoutés dynamiquement, la liaison d'événements en direct (des méthodes telles que bind(), live() et délégué()) était traditionnellement la solution privilégiée. Cependant, ces méthodes ont été obsolètes dans jQuery en raison de problèmes de performances.

Au lieu de cela, la liaison d'événements déléguée doit être utilisée, où les événements sont liés à un élément statique (souvent l'objet document) et les gestionnaires sont invoqués en fonction de l'élément statique. sélecteurs spécifiés.

La solution : utiliser la méthode on()

Pour lier un événement onclick à des éléments ajoutés dynamiquement à l'aide de la liaison d'événement déléguée, la méthode jQuery on() devrait être utilisé. Cette méthode prend trois paramètres :

  1. Le type d'événement (par exemple, "clic")
  2. Un sélecteur qui cible les éléments auxquels attacher l'événement
  3. L'événement fonction de gestionnaire

Exemple :

$(document).on('click', '.my-dynamic-element', function() {
  // Code to execute when the element is clicked
});

Liaison à plusieurs éléments ajoutés dynamiquement

Lorsque plusieurs éléments sont ajoutés dynamiquement, il est recommandé d'utiliser une classe ou un attribut commun comme sélecteur dans le( ) méthode. Cela garantit que tous les éléments avec le sélecteur spécifié sont traités de manière cohérente.

Méthodes obsolètes

Les méthodes suivantes sont obsolètes et ne doivent plus être utilisées pour la liaison d'événements :

  • bind()
  • live()
  • delegate()

L'utilisation de la méthode on() comme décrit ci-dessus garantit la compatibilité avec les versions de jQuery et fournit une gestion efficace des événements pour les éléments ajoutés dynamiquement.

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