本指南旨在提供 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
)。参见:异步透明性