本指南旨在提供 Hotwire 等效功能在 htmx 中的常见实践方法。
<body hx-boost="true"> 可启用类似 Turbo Drive 的体验。参见:hx-boosthx-boost 仍将继续工作。参见:渐进增强hx-boost="false" 等同于 data-turbo="false",用于在特定链接或表单上禁用加速。参见:手册hx-target="body" hx-swap="outerHTML" hx-push-url="true" 参见:手册<form> 不会提交禁用的字段。参见:MDN:禁用属性addEventListener("submit", (event) => {
event.target.querySelectorAll("button").forEach(node => { node.disabled = true })
})
addEventListener("htmx:afterOnLoad", (event) => {
event.target.querySelectorAll("button").forEach(node => { node.disabled = false })
})
hx-on:submit= 'event.target.querySelectorAll("button").forEach(node => { node.disabled = true })'hx-on:htmx:afterOnLoad= 'event.target.querySelectorAll("button").forEach(node => { node.disabled = false })'_="on submit toggle @disabled <button/> in me until htmx:afterOnLoad" 参见:手册<turbo-frame>。hx-trigger="load, submit" 参见:手册<turbo-stream>,无需 <template>。<turbo-frame> .. </turbo-frame> 中的内容。htmx:config-request 等同于 turbo:before-fetch-request 参见:手册
htmx:config-request 与 htmx:configRequest 相同 参见:事件命名document.body.addEventListener('htmx:configRequest', (event) => {
event.detail.headers['Authorization'] = `Bearer ${token}`
})
hx-trigger="submit[action(target)]"
hx-on:click="event.preventDefault(); action(this); htmx.trigger(this, 'ready')" hx-trigger="ready"_="on submit halt the event action(target) trigger ready" hx-trigger="ready"
fetch)。参见:异步透明性