我知道有一些关于这个问题的类似问题,但我没有一个解决方案可以帮助我。
我正在使用AngularJS并希望检测滚动事件。我尝试了很多关于如何获取事件的版本,但是最初它会在第一次加载时触发,然后再也不会发生。
我上次尝试的代码如下:
$($window).on('scroll', alert('scrolled'));
但我也尝试过这个:
还有更多,但没有任何作用。
谁能告诉我我做错了什么?
更新:我尝试了指令的东西,这对于safari BUT非常好,但不是用chrome。怎么回事?
Update2:使用shift键时,它适用于chrome移动视图。铬到苹果触控板有什么限制吗? WTF?
答案 0 :(得分:5)
我会用
$(window).scroll(function () { alert('scrolled') })
或者你可以使用
angular.element($window).bind("scroll", function(e) {
alert('scrolled')
})
答案 1 :(得分:2)
不需要angular.element() 将$ window注入您的控制器, 使用window.onscroll事件
$window.onscroll = function (){
console.log('window was scrolled!');
};