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 as CustomEvent).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:beforeRequest
fired before an HTTP request is issuedhtmx:beforeSwap
fired before a DOM swaphtmx:timeout
fired when a request timeout occurs
You should check https://htmx.org/events/ for the full list and documentation.
Lessons in this unit:
0: | Introduction |
1: | Why htmx |
2: | The core idea of htmx |
3: | Installing htmx |
4: | Doing a GET request |
5: | Swap |
6: | POST request |
7: | Targets |
8: | Loading indicator |
9: | Confirming actions, and prompts |
10: | Triggers |
11: | Request headers |
12: | Response headers |
13: | ▶︎ Events |
Are you intimidated by Git? Can’t figure out
merge vs rebase? Are you afraid of screwing up
something any time you have to do something in
Git? Do you rely on ChatGPT or random people’s
answer on StackOverflow to fix your problems?
Your coworkers are tired of explaining Git to
you all the time? Git is something we all need
to use, but few of us really master it. I
created this course to improve your Git (and
GitHub) knowledge at a radical level. Launching
May 21, 2024. Join the waiting list!