You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django中发送多个HTMX HX-Trigger事件触发HTML元素更新?

解决HTMX多事件触发DOM更新问题

你的问题出在HX-Trigger头的格式上:字典格式的触发方式是给JavaScript事件监听器传递数据用的,而HTMX元素的hx-trigger监听的是无附加数据的简单事件,所以需要调整触发头的格式。

正确实现方式

直接用逗号分隔的事件名称字符串作为HX-Trigger的值,就能同时触发两个自定义事件,代码修改如下:

trigger1 = f'update_group_graph_{ location.id }_{ group.id }'
trigger2 = f'update_location_graph_{ location.id }'
return HttpResponse(status=204, headers={'HX-Trigger': f'{trigger1}, {trigger2}'})

为什么之前的方式不生效

你之前用的字典格式({trigger1:"a", trigger2:"b"}),HTMX会将其解析为带detail数据的事件,但你的HTMX元素配置里只监听了事件名称,没有处理数据,所以无法触发更新。而逗号分隔的字符串会触发两个独立的无数据事件,正好匹配你元素中hx-trigger的监听规则。

验证你的HTMX配置

你的DOM元素配置是正确的:

  • hx-trigger包含了revealed初始化触发和自定义事件,from:body确保能接收到全局触发的事件
  • hx-target和hx-get的路径也符合Django URL反向解析的规则

内容的提问来源于stack exchange,提问作者Christo Labuschagne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 17:02:25