滚动事件不会引发任何事情

时间:2016-10-25 16:32:47

标签: javascript angularjs html5 javascript-events

我有一个(相当简单的)问题,我突然想到它。

问题非常简单 - scroll事件不会被激活(永远)。

我正在编写这个有角度的项目,所以我尝试了以下内容:

angular.element($window).bind('scroll', ()=> {
    console.log('scroll!');
    if (!scope.scrollPosition) {
      scope.scrollPosition = 0;
    }
    // Alerting for test cause wtf is going on
    scope.boolChangeClass = this.pageYOffset > 600 ? alert(true) : alert(false);
    scope.scrollPosition = this.pageYOffset;
    scope.$apply();
  }
);

但没有发生任何事。 (假设$window完好无损且我正在使用webpack等。) 如果我将scroll更改为click,此示例效果很好。怪异。

所以我尝试了香草~~!

window.addEventListener('scroll',function(){
  console.log('test')
})

此尝试适用于其他其他网站,除了我的(必须承认它的经典)。

那么 - 有没有人曾经处理过此事并知道发生了什么?

我认为其他一些元素在早期就消耗了这个事件,因此不会让它冒出来。然而,这只是一个假设。'

很想明白这一点:)

===编辑===

我已尝试使用monitorEvents(window)(使用Chrome)查看所有已解雇的事件,并且我看到每个事件被触发,但滚动..

1 个答案:

答案 0 :(得分:3)

看起来它是滚动的body元素。尝试在控制台中添加以下代码。

document.body.addEventListener('scroll', function() {
  console.log('test');
});