首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ScrollSpy“激活”事件不触发

ScrollSpy“激活”事件不触发
EN

Stack Overflow用户
提问于 2012-07-19 07:23:05
回答 2查看 5.7K关注 0票数 0

我读到了这个问题:How to use Twitter Bootstrap ScrollSpy to execute a function,也就是说首先获取事件,然后添加某个函数。首先,我对jQuery比较陌生,所以我不知道如何抓住一个事件。

下面是我的代码:

代码语言:javascript
复制
$(".navbar").scrollspy();
$('[data-spy="scroll"]').each(function()
{
    $(this).scrollspy('refresh');
});
$("ul.nav li").on("activate", function()
{
    console.log("ACTIVATED");
});

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

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-25 21:07:21

您的代码是正确的,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

票数 2
EN

Stack Overflow用户

发布于 2012-11-07 09:03:13

您的li元素可能缺少dropdown类

代码语言:javascript
复制
li.dropdown

否则它将无法工作,因为当您的元素具有匹配的父级时,他会专门查找.dropdown。下拉菜单...在我的情况下,这总是正确的。下面是在bootstrap中执行此操作的代码:

代码语言:javascript
复制
      active = $(selector)
      .parent('li')
      .addClass('active')

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

    active.trigger('activate')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11551802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档