Événements et Journalisation
htmx dispose d’un vaste mécanisme d’événements, qui fait également office de système de journalisation.
Si vous souhaitez vous inscrire à un événement htmx spécifique, vous pouvez utiliser :
Ou, si vous préférez, vous pouvez utiliser le helper htmx suivant :
L’événement htmx:load
est déclenché chaque fois qu’un élément est chargé dans le DOM par htmx et est effectivement l’équivalent de l’événement load
normal.
Initialiser une Bibliothèque Tiers avec des Événements
L’utilisation de l’événement htmx:load
pour initialiser du contenu est si courante que htmx fournit une fonction utilitaire :
Cela fait la même chose que le premier exemple, mais c’est un peu plus propre.
Configurer une Requête avec des Événements
Vous pouvez gérer l’événement htmx:configRequest
pour modifier une requête AJAX avant qu’elle ne soit émise :
Ici, nous ajoutons un paramètre et un en-tête à la requête avant qu’elle ne soit envoyée.
Modifier le Comportement d’Insertion avec des Événements
Vous pouvez gérer l’événement htmx:beforeSwap
pour modifier le comportement d’échange de htmx :
Ici, nous gérons quelques codes de réponse d’erreur de niveau 400 qui, normalement, ne feraient pas l’objet d’un échange dans htmx.
Nom des Événements
Notez que tous les événements sont déclenchés avec deux noms différents :
- Camel Case
- Kebab Case
Par exemple, vous pouvez écouter htmx:afterSwap
ou htmx:after-swap
. Cela facilite l’interopérabilité avec d’autres bibliothèques. Par exemple, Alpine.js nécessite l’utilisation de kebab case.
Journalisation
Si vous définissez un logger sur htmx.logger
, chaque événement sera consigné. Cela peut être très utile pour le dépannage :