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