事件 - htmx:oobErrorNoTarget
htmx:oobErrorNoTarget 是 HTMX 在尝试将服务器响应中的 OOB 元素插入页面时,找不到对应的 id 目标元素而触发的错误事件。
事件参数
- detail.content - 具有不良 oob 的元素id
什么是 OOB(Out-of-Band Swap)
为了更好地理解 htmx:oobErrorNoTarget ,我们先要理解什么是 OOB:
HTMX 支持在服务器响应中标记部分 HTML,让它插入到页面中其他地方,而不是当前请求的 hx-target 指向的区域。这就是 OOB 内容。OOB 能够实现一次响应结果交换到多个元素的效果。
你在服务器返回中这样写:
<div id="notification" hx-swap-oob="true">
操作成功!
</div>
这表示:将这段内容插入到页面上 id="notification" 的位置,而不是替换原本的响应目标。
但你当前页面中没有 id="notification" 的元素,HTMX 就无法找到要替换的目标元素,于是触发:htmx:oobErrorNoTarget
示例代码
<script>
document.body.addEventListener("htmx:oobErrorNoTarget", function(evt) {
console.error("OOB 错误:找不到目标元素!", evt.detail);
alert("页面缺少必要元素,无法更新部分内容。");
});
</script>