2016-10-25 11 views
4

Ich habe ein (ziemlich einfaches) Problem, und ich breche mir den Kopf darüber.Scroll-Ereignis wird nicht ausgelöst, was auch immer

Das Problem ist ziemlich einfach - scroll Ereignis wird nicht ausgelöst (je).

Ich schreibe diesen Winkel Projekt, also habe ich versucht, die folgenden:

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(); 
    } 
); 

aber nichts geschah. (angenommen, ist intakt und ich verwende Webpack usw.) Dieses Beispiel funktioniert gut, wenn ich die scroll zu click ändern. seltsam.

Also ich habe versucht Vanille ~~!

window.addEventListener('scroll',function(){ 
    console.log('test') 
}) 

Dieser Versuch funktioniert auf jede andere Website außer Mine (muß zugeben, dass es klassisch ist).

Also - hat sich schon mal jemand damit beschäftigt und weiß was los ist?

Ich nehme an, dass ein anderes Element dieses Ereignis in einem frühen Stadium verbraucht und es nicht aufblähen lässt. Aber das ist nur eine Annahme.

Würde gerne verstehen :)

=== === EDIT

Ich habe versucht, alle gefeuert Ereignisse sehen monitorEvents(window) mit (unter Verwendung von Chrom) und ich sehe jedes Ereignis, das ist Sein Feuer außer die Rolle ..

+1

Wenn es nicht funktioniert auch mit Vanille JS, sind Sie sicher, dass das Fenster tatsächlich scrollt? Könnte es nicht sein, dass es ein anderes Element ist, das stattdessen scrollt? Schwer zu sagen ohne einen funktionierenden Code. –

+0

@JoseFaeti Das Fenster scrollt tatsächlich. 100%. – Aviad

+0

Nach @ JoseFaetis Kommentar - stellen Sie ein Live-Beispiel (jsfiddle/codepen) zur Verfügung, ansonsten ist es wirklich schwer die Ursache des Problems zu verstehen. – Dekel

Antwort

3

Sieht aus wie es das Körperelement ist, das Scrollen ist. Versuchen Sie, den folgenden Code in der Konsole hinzuzufügen.

document.body.addEventListener('scroll', function() { 
    console.log('test'); 
}); 
Verwandte Themen