Я хотел бы понять, почему я не могу прикрепить onscroll к переменной, содержащей элемент DOM.
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<div style="height: 1000px"></div>
<script>
$(document).ready(function() {
var vbody = document.getElementsByTagName('body');
vbody.onscroll = function() {
console.log('scrolling');
}
});
</script>
</body>
</html>
Этот код ничего не регистрирует. Однако, если вы просто измените
vbody.onscroll
to
window.onscroll
консоль регистрирует «прокрутку», когда вы, ну, прокручиваете - как и должно быть.
Что я делаю не так? Я хотел бы добавить обработчик событий onscroll в элемент body и заставить его работать, как при использовании window.onscroll в примере.
Спасибо.