Maison  >  Article  >  interface Web  >  Comment implémenter des Datepickers sur des éléments dynamiques avec jQuery ?

Comment implémenter des Datepickers sur des éléments dynamiques avec jQuery ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-20 20:48:30539parcourir

How to Implement Datepickers on Dynamic Elements with jQuery?

Implémentation de jQuery datepicker() sur des éléments créés dynamiquement

De nombreuses applications Web nécessitent l'utilisation d'éléments dynamiques, tels que des zones de texte, qui peuvent être ajoutés ou supprimés selon les besoins. Lors de l'ajout de sélecteurs de date à ces éléments dynamiques, il est essentiel de comprendre comment gérer cette situation efficacement.

Le défi : implémentation inefficace de datepicker()

Supposons que nous ayons créé dynamiquement plusieurs zones de texte, chacune avec une classe commune "datepicker_recurring_start". Le but est de permettre à chaque zone de texte d'afficher un calendrier en cliquant. Cependant, l'utilisation du code suivant n'applique la fonctionnalité de sélecteur de date qu'à la première zone de texte :

$(".datepicker_recurring_start" ).datepicker();

La solution : délégation d'événement déléguée

Pour résoudre ce problème, nous exploitons la puissance de la délégation d'événement, ce qui nous permet d'attacher des gestionnaires d'événements à un élément parent statique, tel que le corps du document. Le code suivant illustre cette approche :

$('body').on('focus',".datepicker_recurring_start", function(){
    $(this).datepicker();
});

Dans ce code :

  • $('body') sélectionne le corps du document comme élément parent statique.
  • on('focus' : enregistre un écouteur d'événement pour l'événement 'focus'.
  • ".datepicker_recurring_start": Spécifie que l'écouteur d'événement doit être appliqué aux descendants du corps qui ont la classe "datepicker_recurring_start".
  • function() {...} : définit le gestionnaire d'événements qui initialise l'instance de datepicker pour l'élément actuel.

Cette technique attache efficacement la fonctionnalité de datepicker à tous les éléments actuels et futurs. éléments avec la classe "datepicker_recurring_start", garantissant que toutes les zones de texte créées dynamiquement ont le comportement souhaité.

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!

Déclaration:
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