我有一个(相当简单的)问题,我突然想到它。
问题非常简单 - 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)查看所有已解雇的事件,并且我看到每个事件被触发,但滚动..
答案 0 :(得分:3)
看起来它是滚动的body元素。尝试在控制台中添加以下代码。
document.body.addEventListener('scroll', function() {
console.log('test');
});