Ответ 1
Это потому, что в окне прокручивается не div. Попробуйте изменить прослушиватель элементов на родительский элемент div (в данном случае это окно), например this.
window.addEventListener("scroll", function () {
myFunc();
}, false);
Все, что я пытаюсь сделать, - это вызывать функцию, когда прокручивается DIV
. Ради простоты, я ничего не определяю. Также я смотрю только на DOM-совместимые браузеры, такие как Chrome, Safari (не IE).
Моя проблема в том, что обработчик прокрутки никогда не вызывается. Если я заменю scroll
на click
, он работает, когда я нажимаю. Каким-то образом свиток не работает.
Обратите внимание: я не могу использовать jQuery :(
Вот мой код:
HTML:
<div id="test">--long content--</div>
JS:
function myFunc() {
console.log('in myFunc');
}
var objTable = document.getElementById("test");
objTable.addEventListener("scroll", function () {
myFunc();
}, false);
FIDDLE:
Это потому, что в окне прокручивается не div. Попробуйте изменить прослушиватель элементов на родительский элемент div (в данном случае это окно), например this.
window.addEventListener("scroll", function () {
myFunc();
}, false);
у меня была похожая проблема в моем случае. Этот код правильный, но не работал, потому что,
window.addEventListener("scroll", function () {
myFunc();
}, false);
событие прокрутки не стреляло. так как мое тело прокручивало вместо documentElement.
Я просто удалил height: 100%
из моего тега body, а затем началось событие прокрутки.