Estoy usando el carrusel bootstrap5 y quiero activar un evento personalizado cuando se hace clic en los indicadores anterior o siguiente. Quiero evitar que se active el evento de arranque predeterminado. He probado un montón de técnicas diferentes, pero sin éxito.
¿Alguien sabe como hacer esto?
mtia
Consulta la documentación oficial. Tiene algunos oyentes que puede agregar a su JavaScript.
Sin embargo, debe asegurarse de agregar Bootstrap CDN o el módulo npm con JavaScript para que funcione.
const myCarousel = document.querySelector("#myCarousel"); const carousel = new bootstrap.Carousel(myCarousel, { interval: 2500 }); myCarousel.addEventListener("slide.bs.carousel", () => { /* Do something... */ });¿Has probado e.stopPropagation() o e.stopImmediatePropagation()
Encontré la solución al final. Estaba colocando programáticamente bs-slide-to en los indicadores siguiente y anterior, y esto estaba causando que el controlador de eventos se disparara. Por lo tanto, para detener el controlador de eventos de arranque, elimine los atributos bs-slide-to y bs-slide de los indicadores siguiente y anterior, y el evento no se activará. Lo eliminé y usé un controlador de eventos personalizado y funciona bien (espero).