gorgeous-ghost-95789
12/08/2020, 10:59 PMlively-beach-14291
12/09/2020, 1:19 AMlively-beach-14291
12/09/2020, 1:23 AMmysterious-toddler-20573
12/09/2020, 1:43 AMbig-airline-13935
12/09/2020, 9:43 AMmysterious-toddler-20573
12/09/2020, 1:52 PMbillions-rain-29850
12/09/2020, 3:25 PMhtml
<span data-script="on click add .d-none to .secondary then remove .d-none from #header" data-hx-post="/profil/addrow" data-hx-vars="input:'{{ @item.name }}'" data-hx-target="#sections" data-hx-swap="afterend"></span>
Probably hyperscript runs independently this way - but runs.
According to doc (https://htmx.org/docs/#hyperscript) I can use htmx:afterSettle
event for hyperscript to run after htmx request is being completed. However it doesn't seem to be working for me. Do I miss something?
html
<!-- data-script won't trigger -->
<span data-script="on htmx:afterSettle add .d-none to .secondary then remove .d-none from #header" data-hx-post="/profil/addrow" data-hx-vars="input:'{{ @item.name }}'" data-hx-target="#sections" data-hx-swap="afterend"></span>
Thank you for your help! (These two libraries are awesome!)
(Edit: discord markdown formatting things.)most-jelly-15242
12/09/2020, 5:01 PMmost-jelly-15242
12/09/2020, 5:03 PMmysterious-toddler-20573
12/09/2020, 5:20 PMmysterious-toddler-20573
12/09/2020, 5:21 PMmysterious-toddler-20573
12/09/2020, 5:24 PMhtmx:swapComplete
that is triggered on the triggering element, and then handed to the body as well if the triggered element has been removed from the DOM. That seems like what most people want.billions-rain-29850
12/09/2020, 5:29 PMphp
header('HX-Trigger: {"settle": true}');
to my server-side controller and modifying template to
html
<span data-script="on settle add .d-none to .secondary then remove .d-none from #header" ...>
did the trick. Maybe it's something that worth to mention in the docs.
I will try @mysterious-toddler-20573 's method too.mysterious-toddler-20573
12/09/2020, 5:31 PMhtmx:afterSettle
is, instead, triggered on the content that was swapped in. So if the content is not within the element that triggered the request, that element will not see the event.mysterious-toddler-20573
12/09/2020, 5:31 PMmost-jelly-15242
12/09/2020, 5:35 PMwindow
modifier for this. So for example on.window htmx:afterSettle
or something like that.billions-rain-29850
12/09/2020, 5:37 PMmysterious-toddler-20573
12/09/2020, 5:52 PMhtml
<div _="on body.htmx:afterSettle ...">...</div>
mysterious-toddler-20573
12/09/2020, 5:53 PMmysterious-toddler-20573
12/09/2020, 5:56 PMmysterious-toddler-20573
12/09/2020, 5:56 PMmysterious-toddler-20573
12/09/2020, 5:57 PMbillions-rain-29850
12/09/2020, 6:04 PMmost-jelly-15242
12/09/2020, 6:42 PMmysterious-toddler-20573
12/09/2020, 6:43 PMmysterious-toddler-20573
12/09/2020, 6:44 PMmysterious-toddler-20573
12/09/2020, 6:45 PMmysterious-toddler-20573
12/09/2020, 6:45 PMmysterious-toddler-20573
12/09/2020, 6:46 PMmysterious-toddler-20573
12/09/2020, 6:49 PM