hx-disabled-elt
hx-disabled-elt 属性允许你在请求期间将 disabled 属性添加到指定元素。此属性的值可以是:
- 要禁用的元素的 CSS 查询选择器。
- this 禁用元素本身
- closest <CSS selector> 它将找到与给定的 CSS 选择器匹配的最近的父元素或其自身(例如,closest fieldset 将禁用最接近的元素 fieldset)。
- find <CSS selector> 它将找到与给定的 CSS 选择器匹配的第一个子元素
- next 解析为 element.nextElementSibling
- next <CSS selector> 它将向前扫描 DOM 以查找与给定的 CSS 选择器匹配的第一个元素(例如,next button 将禁用最近的后续同级 button 元素)
- previous 解析为 element.previousElementSibling
- previous <CSS selector> 它将向后扫描 DOM 以查找与给定的 CSS 选择器匹配的第一个元素。(例如,previous input 将禁用最近的前一个同级 input 元素)
下面是一个按钮的示例,该按钮将在请求期间自行禁用:
<button hx-post="/example" hx-disabled-elt="this">
Post It!
</button>
当请求正在进行时,这将导致按钮被标记为 disabled 属性从而阻止进一步的点击发生。
hx-disabled-elt 属性还支持指定多个以逗号分隔的 CSS 选择器,可以在请求期间禁用多个元素。以下是在请求期间禁用特定表单的按钮和文本输入字段的示例:
<form hx-post="/example" hx-disabled-elt="find input[type='text'], find button">
<input type="text" placeholder="Type here...">
<button type="submit">Send</button>
</form>
笔记
- hx-disabled-elt 可以继承并放置在父元素上