Open lishengzxc opened 8 years ago
以前一直用iScroll这一方案来处理移动端的滚动,这次需要做 PC 上做一个滚动加载更多的功能,因为是 PC 就考虑不用iScroll了,然后用 Dash 查了下 scroll,看到了以下例子
iScroll
scroll
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <style> #container { position: absolute; height: auto; top: 0; bottom: 0; width: auto; left: 0; right: 0; overflow: auto; } #foo { height:1000px; width:1000px; background-color: #777; display: block; } </style> </head> <body> <div id="container"> <div id="foo"></div> </div> <script type="text/javascript"> document.getElementById('container').onscroll = function() { console.log("scrolling"); }; </script> </body> </html>
然后我就想当然了在document.body.onscroll附上了回调函数,结果在Chrome下偶尔会出现页面滚动,但是回调不执行的情况下。然后通过Chrome的审查元素发现,回调不成功的情况是因为回调并没有绑定上去,然后在window.addEventListener('scroll', function() {}),发现成功了。
document.body.onscroll
Chrome
window.addEventListener('scroll', function() {})
因为自己要一个刨根问底的心,并找到了一下相关资料: http://www.w3help.org/zh-cn/causes/SD9013
所以,结论是: 请在window上绑定scroll事件
window
以前一直用
iScroll
这一方案来处理移动端的滚动,这次需要做 PC 上做一个滚动加载更多的功能,因为是 PC 就考虑不用iScroll
了,然后用 Dash 查了下scroll
,看到了以下例子然后我就想当然了在
document.body.onscroll
附上了回调函数,结果在Chrome
下偶尔会出现页面滚动,但是回调不执行的情况下。然后通过Chrome
的审查元素发现,回调不成功的情况是因为回调并没有绑定上去,然后在window.addEventListener('scroll', function() {})
,发现成功了。因为自己要一个刨根问底的心,并找到了一下相关资料: http://www.w3help.org/zh-cn/causes/SD9013
所以,结论是: 请在
window
上绑定scroll
事件