Ist es möglich, festzustellen, ob ein Scroll-Ereignis vom Browser oder vom Benutzer ausgelöst wurde? Insbesondere bei Verwendung der Schaltfläche "Zurück" kann ein Browser zur letzten bekannten Bildlaufposition springen. Wenn ich an das Scroll-Ereignis binde, wie kann ich feststellen, ob dies vom Benutzer oder vom Browser verursacht wurde?
$(document).scroll( function(){
//who did this?!
});
Es gibt drei Arten von Situationen, die einen Bildlauf in einem Browser verursachen.
- Der Benutzer führt eine Aktion aus. Er benutzt z. B. das Mausrad, die Pfeiltasten, die Tasten zum Hoch- und Runterblättern, die Home/End-Tasten, klickt auf die Bildlaufleiste oder zieht seinen Daumen.
- Der Browser blättert automatisch. Wenn Sie z. B. die Zurück-Taste Ihres Browsers betätigen, springt er automatisch an die letzte bekannte Bildlaufposition.
- Javascript scrollt. Zum Beispiel,
element.scrollTo(x,y)
.