2012-07-18 74 views
0

我看了这个问题:How to use Twitter Bootstrap ScrollSpy to execute a function,那说先抢事件,然后再添加一定的功能。首先,我对jQuery比较陌生,所以我不知道如何抓住一个事件。ScrollSpy“激活”事件不会触发

这里是我的代码:

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

触发它手动运行功能,当然,但无论我尝试这样做,它似乎并没有工作。

任何想法?

回答

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

+0

很酷!我可以设置它作为正确的答案,一旦我能得到它的工作:) – MiJyn 2012-07-26 00:17:59

+0

我很抱歉我迟到接受答案。我可以确认它的工作原理=) – MiJyn 2013-03-11 18:13:42

1

你li元素可能缺失的下拉类

li.dropdown 

否则将无法工作,因为他将专门查找当你元素有一个父匹配.dropdown菜单一.dropdown ......在我情况总是如此。 以下是自举中的代码:

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

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

    active.trigger('activate')