事件 - htmx:targetError
htmx:targetError 是 HTMX 在无法定位 hx-target 指定的目标元素时触发的事件。
这是一次“目标元素定位失败”错误,即 HTMX 请求响应返回后,尝试插入内容时找不到页面中指定的 hx-target 元素(例如 id 写错了),就会触发 htmx:targetError 。
事件参数
- detail.elt - 触发请求的元素
- detail.target - 出现问题的的 CSS 选择器
与 htmx:swapError 的区别
事件名 | 说明 |
---|---|
htmx:targetError | 目标元素找不到(通常是选择器错误) |
htmx:swapError | 找到目标元素,但插入内容失败(如结构错误、浏览器限制) |
示例代码
<script>
document.body.addEventListener("htmx:targetError", function(evt) {
console.error("目标元素未找到!");
console.log("请求源元素:", evt.detail.elt);
alert("页面插入失败,目标区域不存在!");
});
</script>
错误示例
<!-- 错误:hx-target 指向不存在的 ID -->
<button
hx-get="/partial"
hx-target="#does-not-exist"
hx-swap="innerHTML">
请求内容
</button>
正确示例
<div id="result">原始内容</div>
<button
hx-get="/partial"
hx-target="#result"
hx-swap="innerHTML">
正确的请求
</button>