方法 - htmx.process()
htmx.process(element) 是 HTMX 的一个公开 API 方法,用于手动处理(激活)某个新插入的 DOM 元素及其子元素,使其内部的 HTMX 属性(如 hx-get、hx-post 等)生效。
当你通过 JavaScript 动态插入 DOM 元素时,如果这些元素中包含 hx-* 属性,HTMX 默认不会自动处理它们。你需要手动调用:htmx.process(elt) 来处理。
参数
- elt - 要处理的元素
示例
<div id="container"></div>
<script>
const btn = document.createElement("button");
btn.setAttribute("hx-get", "/hello");
btn.setAttribute("hx-target", "#container");
btn.textContent = "点击请求";
document.getElementById("container").appendChild(btn);
// 手动激活 HTMX 处理
htmx.process(btn);
</script>
也可以用在使用原生 JavaScript 、Vue、React 等混合编程时,使用非 htmx 的方法从服务端获取到带 htmx 属性的 html 代码片段时,需要使用 htmx.process() 函数来激活该代码片段中的 htmx 属性。
注意事项
如果遇到 htmx 失效的情况时,重点检查失效的 htmx 代码是否为动态返回且是由非 htmx 发起的请求,如果是,则使用 htmx.process() 即可解决问题。