У меня есть страница, настроенная на height: 100vh Теперь я хочу, чтобы функция запускалась, когда пользователь пытается прокрутить. onScroll не работает из-за невозможности прокрутки. Как я могу получить событие onscroll?

Если это поможет, вот ручка https://codepen.io/Sinanski/pen/wEbeMo?editors=0110

0
Sinan Theuvsen 24 Сен 2018 в 21:15

2 ответа

Лучший ответ

Событие wheel может вам помочь, хотя это не запускать по событиям прокрутки с клавиатуры. Итак, вы можете собрать что-то вроде этого:

window.addEventListener("wheel", onScroll);

window.addEventListener("keyup", onKeyUp);

function onScroll(event) {
  console.log("scroll")
}

function onKeyUp(event){
  if(event.key == "ArrowUp" || event.key == "ArrowDown"){
     onScroll(event);
  }
}

Обратите внимание на поддержку этого события браузером на странице MDN и протестируйте его в соответствии с вашими потребностями.

Обновленное перо https://codepen.io/anon/pen/QVRxed?editors=0010

3
John McCollum 24 Сен 2018 в 18:31

По определению, события прокрутки не будут запускаться, если прокрутить ничего нельзя.

0
Geuis 24 Сен 2018 в 18:20