我目前正在开发一个 vanilla JS 插件,我需要在滚动时更新一个值,所以我将一个事件监听器附加到文档以触发一个应该更新上述值的函数。
问题是,它适用于文档加载但不适用于滚动。好像滚动事件根本不起作用。
目前,我的 JS 部分看起来像这样:
var currentPosition = 0;
var updatePosition = function() {
currentPosition = document.body.scrollTop;
document.getElementById('indicator').textContent = currentPosition;
};
document.addEventListener('scroll', updatePosition());
这里有一个 fiddle 可以让它更清楚一点: JSFIDDLE
我尝试在主体和窗口上附加事件监听器,这没有任何区别。
最佳答案
您正在使用 updatePosition()
直接调用一个函数,那是因为您在页面开始时触发函数,您必须仅使用函数名称 updatePosition
附加和处理程序.
代码:
document.addEventListener('scroll', updatePosition);
|-- no () here
关于javascript - "scroll"事件监听器未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32934622/