Leí esta pregunta: Cómo usar Twitter Bootstrap ScrollSpy para ejecutar una función, que dijo primero para agarrar el evento, luego para agregar una función determinada. Primero, soy relativamente nuevo en jQuery, así que no sé cómo agarrar un evento.
Aquí está mi código:
$(".navbar").scrollspy();
$("[data-spy="scroll"]").each(function()
{
$(this).scrollspy("refresh");
});
$("ul.nav li").on("activate", function()
{
console.log("ACTIVATED");
});
Activarlo manualmente ejecuta la función, por supuesto, pero todo lo que trato de hacer, no parece funcionar.
¿Algunas ideas?
Respuestas
2 para la respuesta № 1Su código es correcto, la última versión (2.1.0) de Bootstrap soluciona el problema.
Ver https://github.com/twitter/bootstrap/issues/3316 y acceda al script de trabajo aquí: https://github.com/twitter/bootstrap/blob/2.1.0-wip/js/bootstrap-scrollspy.js.
1 para la respuesta № 2
A tu elemento li le falta la clase desplegable
li.dropdown
De lo contrario no funcionará porque élbusca específicamente un .down down cuando su elemento tiene un padre. Matchdown menu ... y en mi caso siempre fue cierto. Aquí está el código que lo hace en bootstrap:
active = $(selector)
.parent("li")
.addClass("active")
if (active.parent(".dropdown-menu")) {
active = active.closest("li.dropdown").addClass("active")
}
active.trigger("activate")