Я хотел бы загрузить больше данных после того, как ScrollSpy получит уведомление. Но я не вижу, как захватить это событие и выполнить функцию.Как использовать Twitter Bootstrap ScrollSpy для выполнения функции
ответ
ОБНОВЛЕНО Этот триггер уже введен в основную сборку. Вы можете увидеть его в полном объеме. http://twitter.github.com/bootstrap/javascript.html#scrollspy
В рабочей ветке github есть обновление, которое активирует обратный вызов активировать.
Ссылки
После того, как вы хватаете курок реактивировать, вы можете назвать это так:
$("#nav li").on('activate', function() {
//do stuff
});
Для начальной загрузки 3 вы можете сделать это следующим образом (docs)
$('#myScrollspy').on('activate.bs.scrollspy', function() {
// do something…
})
Это для Bootstrap 4 (бета 3):
В целом, использование события Scrollspy не изменилась с Bootstrap 3. Как указано в разделе Events документации 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);
})