body的滚动事件的坑
作者:互联网
文章来源 : https://www.cnblogs.com/Zting00/p/7497629.html
踩过些坑,得到的结论,不一定精确
1、
body的滚动条,刷新页面的时候不会回到顶部。其他dom节点会
2、
body只能通过onscroll函数表达式的方法来绑定滚动事件
(其中,IE不能监听body的滚动事件)
document.querySelector('body').onscroll = function() { console.log(1) };
以下2种方式,均以失败告终
document.querySelector('body').addEventListener('onscroll', function() {
console.log(2)
});
$('body').on('scroll', function() {
console.log(3);
})
3、
即时通过上述方法勉强为body绑定上了滚动事件,
那你要做好准备了,很有可能这个函数会莫名其妙的死掉(就是说,你滚动了鼠标,但并没有如你预期的去执行onscroll函数)当你拿着鼠标疯狂的滚动的时候,它一定会死掉;
或者你把这个页面放那,过了一会儿你又去调戏它,onscroll函数也很有可能不执行;
就是这么矫情,你能把它咋滴
注:貌似只有Edge不会死掉
4、说了这么多,解决方案呢?不要用body做滚动事件
最好用其他容器来做滚动事件的操作吧,如果非要用body?试试用document代替
标签:body,function,滚动,log,onscroll,事件,document 来源: https://www.cnblogs.com/500m/p/13747822.html