0

我读了这个问题:How to use Twitter Bootstrap ScrollSpy to execute a function,即先抓取事件,然后添加某个功能。首先,我对 jQuery 比较陌生,所以我不知道如何抓取事件。

这是我的代码:

$(".navbar").scrollspy();
$('[data-spy="scroll"]').each(function()
{
    $(this).scrollspy('refresh');
});
$("ul.nav li").on("activate", function()
{
    console.log("ACTIVATED");
});

当然,手动触发它会运行该功能,但无论我尝试做什么,它似乎都不起作用。

有任何想法吗?

4

2 回答 2

2

您的代码是正确的,Bootstrap 的最新(2.1.0)版本解决了这个问题。

请参阅https://github.com/twitter/bootstrap/issues/3316并在此处访问工作脚本:https ://github.com/twitter/bootstrap/blob/2.1.0-wip/js/bootstrap-scrollspy.js .

于 2012-07-25T13:07:21.073 回答
1

您的 li 元素可能缺少下拉类

li.dropdown

否则它将不起作用,因为当您的元素具有匹配的父级时,他会专门寻找 .dropdown .dropdown-menu ...在我的情况下,它总是正确的。这是在引导程序中执行此操作的代码:

      active = $(selector)
      .parent('li')
      .addClass('active')

    if (active.parent('.dropdown-menu'))  {
      active = active.closest('li.dropdown').addClass('active')
    }

    active.trigger('activate')
于 2012-11-07T01:03:13.250 回答