/ / El evento "Activar" de ScrollSpy no se activa: javascript, jquery, twitter-bootstrap

El evento ScrollSpy "Activate" no se activa - javascript, jquery, twitter-bootstrap

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 № 1

Su 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")