"scroll"事件侦听器未触发



我目前正在制作一个香草JS插件,我需要更新滚动上的值,所以我附加了一个事件侦听器到文档,以触发一个应该更新上述值的函数。

问题是,它适用于文档加载,但不适用滚动。就好像滚动事件根本不工作一样。

目前,我的JS部分看起来像这样:

var currentPosition = 0;
var updatePosition = function() {
  currentPosition = document.body.scrollTop;
  document.getElementById('indicator').textContent = currentPosition;
};
document.addEventListener('scroll', updatePosition());

这里有一个字符串使它更清楚:JSFIDDLE

我尝试在body和window上都附加事件侦听器,但是没有任何区别。

您使用updatePosition()直接调用函数,这是因为您在页面开始时调用函数,因此您必须仅使用函数名称updatePosition附加和处理程序。

代码:

document.addEventListener('scroll', updatePosition);
                                                  |-- no () here

演示:http://jsfiddle.net/IrvinDominin/dyy6z35s/

var currentPosition = 0;
var updatePosition = function() {
  currentPosition = window.pageYOffset || document.documentElement.scrollTop;      
  document.getElementById('indicator').textContent = currentPosition;    
};
document.addEventListener('scroll', updatePosition);

http://jsbin.com/seqecezecu/1/edit?js、控制台、输出

相关内容

  • 没有找到相关文章

最新更新