Join the AI Workshop and learn to build real-world apps with AI. A hands-on, practical program to level up your skills.
I had the need to listen for a particular htmx event to happen, and add some custom JavaScript code.
htmx allows us to do this using plain DOM events.
In this example I redirect to the / route after the request that was triggered by the HTML element with id equal to button-delete-project:
<script>
document.addEventListener('htmx:afterRequest', function (event) {
if (event.detail.target.id === 'button-delete-project') {
window.location.href = '/'
}
})
</script>
The detail object attached to the event provides a lot of useful information.
You have a wide variety of events to listen to, including for example:
htmx:beforeRequestfired before an HTTP request is issuedhtmx:beforeSwapfired before a DOM swaphtmx:timeoutfired when a request timeout occurs
You should check https://htmx.org/events/ for the full list and documentation.