文章來源 : 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代替