首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用htmx.trigger触发轮询

使用htmx.trigger触发轮询
EN

Stack Overflow用户
提问于 2022-05-06 10:45:00
回答 1查看 280关注 0票数 1

我试图使用div上使用JavaScript触发一个div轮询JavaScript行为。

这是div

代码语言:javascript
复制
<div id="myId" hx-get="https://xxxx" hx-swap="innerHTML"></div>

这是触发器函数。

代码语言:javascript
复制
 htmx.trigger(
   htmx.find(`#myId`),
   "every 300ms"
 );

但这不管用。有什么方法可以获得这种行为吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-06 18:40:37

您可以让您的JavaScript设置轮询间隔。然后,您可以触发一个自定义事件,并让您的div监听它。

要让服务器停止客户端轮询,请在响应标头中放置一个不同的自定义事件,并在客户机上侦听它。包括如果您的服务器是ASP.NET,您将如何添加响应头,因为我不确定您在运行服务器端的是什么。另外,innerHTML是默认的hx交换目标,因此可以省略。

HTMX:

代码语言:javascript
复制
<div id="myId" hx-get="https://xxxx" hx-trigger="myEvent"></div>

联署材料:

代码语言:javascript
复制
// start polling
function startpolling(){
var myPoller= setInterval(function () {  htmx.trigger("myId","myEvent"); }, 300);
}

// stop polling
document.body.addEventListener("stopPolling", function(evt){
    clearInterval(myPoller);
})

ASP.NET服务器代码:

代码语言:javascript
复制
HttpContext.Response.Headers.Add("HX-Trigger", "stopPolling");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72140219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档