M0NSTERC4T
@M0NSTERC4T
Front End Engineer in Live Typing

Как отследить scroll событие на ios устройствах?

Необходимо отслеживать scroll событие на IOS устройствах, как это реализовать?
  • Вопрос задан
  • 876 просмотров
Пригласить эксперта
Ответы на вопрос 1
Обычно событие скролла можно отследить например таким образом:
window.onscroll = function() {
  var scrolled = window.pageYOffset || document.documentElement.scrollTop;
  console.log(scrolled);
}


но iOS устройствах при скролле присутствует еще дополнительное движение страницы по инерции. И событие скролла отработает лишь после завершения движения страницы.
По-этому если нужно отследить именно само событие, немедленно в момент движения пальца по экрану, то необходимо использовать ивент touchmove. Вот пример для директивы ангулара. (был под рукой)

$element.bind('touchmove', function (e) {
       console.log(e.touches[0].pageY,e.touches[0].clientY);
}):


А если необходимо именно количество пикселей от верха документа, то нужно использовать событие scroll, которое отработает после анимации.

Подробнее о событии скролла на iOS можно ознакомиться в оф. документации
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы