我正在使用htmx向我的页面添加一些 AJAX 调用。我有一个cart-count
元素被定义为在页面加载后 1s 检索购物车中的项目数:
<span id="cart-count" hx-get="/cart/count"
hx-trigger="load delay:1s" hx-target="#cart-count" hx-swap="outerHTML">
</span>
我还有一个add-to-cart
按钮,在它自己的东西之后(例如改变自己以remove from cart
使用 htmx),发送一个额外的属性
response['HX-Trigger-After-Swap'] = "cart-updated"
到前端(有关文档,请参见此处)。
我有一个可以工作的事件监听器,
document.body.addEventListener("cart-updated",
function (evt) {
alert("cart updated")
})
但是如何在 JS 中触发元素呢hx-get
?#cart-count
注意
hx-trigger="load delay:1s, cart-updated"
如果购物车的东西在元素的父链中,那将起作用add-to-cart
,但不幸的是,我的网页并非如此。
请注意,这里也提出了这个问题