本指南的目的是为 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" 参见:Cookbook<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。参见:异步透明性