AngularJS窗口滚动事件未触发

AngularJS window scroll event does not fire

本文关键字:事件 窗口 滚动 AngularJS      更新时间:2023-09-26

我知道这个问题也有一些类似的问题,但我没有任何解决方案能帮助我。

我正在使用AngularJS,希望检测滚动事件。关于如何获得该事件,我尝试了很多版本,但最多在第一次加载时会触发,然后再也不会触发。

我最后尝试的代码如下:

$($window).on('scroll', alert('scrolled'));

但我也尝试过这个:

  • Jquery.on(';scroll';)在滚动时未触发事件
  • 或者只是简单的JQuery.scroll()事件
  • window.onscroll=函数(ev)

还有很多,但什么都不管用。

有人能告诉我我做错了什么吗?

更新:我尝试了指令性的东西,这与safari非常配合,但与chrome不配合。发生了什么事?

Update2:当使用shift键时,它与chrome移动视图一起工作。chrome到苹果触控板有什么限制吗?WTF?

我只会使用

$(window).scroll(function () { alert('scrolled') })

或者你可以使用

angular.element($window).bind("scroll", function(e) {
    alert('scrolled')
})

不需要angular.element()将$window注入控制器,使用window.onscroll事件

$window.onscroll = function (){ console.log('window was scrolled!'); };