有没有办法区分滚动事件是由浏览器还是用户引起的?特别是使用“后退”按钮时,浏览器可能会跳转到上次滚动位置。如果我绑定了滚动事件,如何判断滚动是由用户还是浏览器引起的?
$(document).scroll( function(){
//who did this?!
});
我看到有三种情况会导致浏览器滚动。
- 用户执行某些操作,例如使用鼠标滚轮、箭头键、上下页键、Home/End键、点击滚动条或拖动其拇指。
- 浏览器自动滚动。例如,在浏览器中使用后退按钮时,它会自动跳转到最后已知的滚动位置。
- JavaScript 滚动。例如,
element.scrollTo(x,y)
。