【发布时间】:2022-02-09 04:47:47
【问题描述】:
我正在使用 bootstrap5 轮播,我想在单击上一个或下一个指标时触发自定义事件。 我想阻止默认引导事件触发。我尝试了很多不同的技术,但都没有成功。
有人知道怎么做吗?
Mtia
【问题讨论】:
标签: javascript bootstrap-5 event-listener bootstrap-carousel removeeventlistener
我正在使用 bootstrap5 轮播,我想在单击上一个或下一个指标时触发自定义事件。 我想阻止默认引导事件触发。我尝试了很多不同的技术,但都没有成功。
有人知道怎么做吗?
Mtia
【问题讨论】:
标签: javascript bootstrap-5 event-listener bootstrap-carousel removeeventlistener
查看官方文档。它有一些可以添加到 JavaScript 中的侦听器。
不过,您需要确保添加 Bootstrap CDN 或带有 JavaScript 的 npm 模块才能使其正常工作。
const myCarousel = document.querySelector("#myCarousel");
const carousel = new bootstrap.Carousel(myCarousel, { interval: 2500 });
myCarousel.addEventListener("slide.bs.carousel", () => { /* Do something... */ });
【讨论】:
你试过e.stopPropagation()或e.stopImmediatePropagation()
【讨论】:
我最终找到了解决方案。我以编程方式将 bs-slide-to 放置在下一个和上一个指标上,这导致事件处理程序触发。 因此,要停止引导事件处理程序,从下一个和上一个指标中删除 bs-slide-to 和 bs-slide 属性,该事件不会触发。 我删除了它,并使用了自定义事件处理程序,它工作正常(我希望)。
【讨论】: