JavaScript Tiers
htmx s’intègre assez bien avec les bibliothèques tierces. Si la bibliothèque déclenche des événements sur le DOM, vous pouvez utiliser ces événements pour déclencher des requêtes via htmx.
Un bon exemple de ceci est la démonstration SortableJS :
Avec Sortable, comme avec la plupart des bibliothèques JavaScript, vous devez initialiser le contenu à un moment donné.
Dans jQuery, vous pourriez faire ceci :
Dans htmx, vous utiliseriez plutôt la fonction htmx.onLoad
, et vous sélectionneriez uniquement parmi le contenu nouvellement chargé, plutôt que l’ensemble du document :
Cela garantira que, lorsque du nouveau contenu est ajouté au DOM par htmx, les éléments triables sont correctement initialisés.
Si JavaScript ajoute du contenu au DOM contenant des attributs htmx, vous devez vous assurer que ce contenu est initialisé avec la fonction htmx.process()
.
Par exemple, si vous deviez récupérer des données et les insérer dans une div en utilisant l’API fetch
, et que ce HTML contient des attributs htmx, vous devriez ajouter un appel à htmx.process()
comme ceci :
Certaines bibliothèques tierces créent du contenu à partir d’éléments de modèle HTML. Par exemple, Alpine JS utilise l’attribut x-if
sur les modèles pour ajouter du contenu de manière conditionnelle. Ces modèles ne font pas initialement partie du DOM et, s’ils contiennent des attributs htmx, nécessiteront un appel à htmx.process()
après leur chargement. L’exemple suivant utilise la fonction watch
d’Alpine pour surveiller un changement de valeur qui déclencherait un contenu conditionnel :
Composants Web
Veuillez consulter la page d’exemples de composants Web pour des exemples sur la façon d’intégrer htmx avec des composants Web.