Как использовать Twitter Bootstrap ScrollSpy для выполнения функции - PullRequest
5 голосов
/ 18 февраля 2012

Я хотел бы загрузить больше данных после получения уведомления ScrollSpy.Но я не вижу, как захватить это событие и выполнить функцию.

Ответы [ 3 ]

12 голосов
/ 24 апреля 2012

ОБНОВЛЕНО Этот триггер был добавлен в основную сборку. Вы можете увидеть это в полной документации. http://twitter.github.com/bootstrap/javascript.html#scrollspy

В github есть обновление в рабочей ветке, которое запускает обратный вызов активации.

Ссылки

Как только вы активируете триггер активации, вы можете назвать его так:

$("#nav li").on('activate', function() {
   //do stuff
});
2 голосов
/ 19 января 2018

Это для Bootstrap 4 (бета 3):
Как правило, использование события Scrollspy не изменилось с Bootstrap 3. Как указано в События * 1005В разделе * документации Scrollspy событие activate.bs.scrollspy будет запускаться для элемента прокрутки - элемента с data-spy="scroll" - всякий раз, когда Scrollspy активирует новый элемент.Вы можете слушать это так:

$('[data-spy="scroll"]').on('activate.bs.scrollspy', function(event) {
    console.log('activate.bs.scrollspy', event);
})

Но!
Не задокументировано, что когда Scrollspy используется для элемента <body>, activate.bs.scrollspyсобытие будет доступно только для объекта window.
Итак, в этом довольно распространенном случае вы можете перехватить событие Scrollspy следующим образом:

$(window).on('activate.bs.scrollspy', function (event) {
    console.log('activate.bs.scrollspy', event);
})
0 голосов
/ 25 января 2016

Для начальной загрузки 3 вы можете сделать это следующим образом ( документы )

$('#myScrollspy').on('activate.bs.scrollspy', function () {
  // do something…
})
...