Je sais qu'il existe une question similaire concernant ce problème, mais aucune des solutions ne pourrait m'aider.
J'utilise AngularJS et je souhaite détecter l'événement de défilement. J'ai essayé beaucoup de versions sur la façon d'obtenir l'événement, mais au plus, il se déclenche lorsqu'il est chargé pour la première fois, puis plus jamais.
Mon dernier code que j'ai essayé était le suivant:
$($window).on('scroll', alert('scrolled'));
Mais j'ai aussi essayé ceci:
et beaucoup plus, mais rien ne fonctionne.
Quelqu'un peut-il me dire ce que je fais mal?
Mise à jour: J'ai essayé la directive, cela fonctionne parfaitement avec safari MAIS cependant pas avec le chrome. Que se passe-t-il?
Update2: Cela fonctionne avec la vue mobile de chrome lorsque vous utilisez la touche Maj. Existe-t-il des restrictions sur le chrome du trackpad Apple? WTF?
Je voudrais juste utiliser
$(window).scroll(function () { alert('scrolled') })
OU vous pouvez utiliser
angular.element($window).bind("scroll", function(e) {
alert('scrolled')
})
angular.element () n'injecte pas de fenêtre à votre contrôleur, utilise l'événement window.onscroll
$window.onscroll = function (){
console.log('window was scrolled!');
};