js - 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代替


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM