事件 - htmx:afterSwap

htmx:afterSwap 是 HTMX 请求生命周期中的一个关键事件,在响应内容被插入(swap)到页面之后立即触发。

也就是说,DOM 已经更新,但动画、过渡等还可能正在进行。比 htmx:afterSettle 更早触发。

事件参数

  • detail.elt - 发送请求的元素
  • detail.xhr - 这XMLHttpRequest
  • detail.target - 请求的目标
  • detail.requestConfig - AJAX请求的配置

示例代码

<script>
  document.body.addEventListener("htmx:afterSwap", function(evt) {
    console.log("内容已插入页面!");

    // evt.detail.elt 是目标元素
    const target = evt.detail.elt;

    // 示例:插入后聚焦第一个 input
    const input = target.querySelector("input");
    if (input) input.focus();
  });
</script>

常见用途

用途 描述
初始化新插入的内容 比如绑定事件、添加样式等
插入后立即聚焦某元素 表单、弹窗常用
发送事件日志 可用于追踪内容更新点