如何使用HTMX实现页面加载时立即加载div,之后每隔n秒轮询更新?
解决方案
方案1(兼容所有HTMX版本)
去掉不需要的on前缀,多个触发条件用逗号分隔即可,写法如下:
<div hx-get="/news" hx-trigger="load, every 2s"></div>
该写法会在页面加载完成后立即触发第一次请求,之后每2秒执行一次轮询。
方案2(HTMX 1.9.0及以上版本支持,写法更简洁)
直接给every触发器加immediate修饰符,无需额外声明load事件:
<div hx-get="/news" hx-trigger="every 2s immediate"></div>
之前写法失效的原因
- HTMX的触发器语法不需要加
on前缀,on是HTML原生事件属性的写法,不适用于hx-trigger属性 - 多个触发条件需要用逗号分隔,而不是
or连接
内容的提问来源于stack exchange,提问作者Johan
相关产品推荐
相关产品推荐

