本指南的目的是提供 htmx 中“Hotwire 等效”功能的常见做法。
<body hx-boost="true">
以启用类似 Turbo Drive 的体验。查看:hx-boosthx-boost
将继续工作。查看:渐进增强hx-boost="false"
等效于 data-turbo="false"
,用于禁用特定链接或表单的 boost。查看:手册hx-target="body" hx-swap="outerHTML" hx-push-url="true"
查看:手册<form>
不会提交禁用的字段。查看:MDN: disabledaddEventListener("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
。查看:异步透明度