zoukankan      html  css  js  c++  java
  • body的滚动事件的坑

    踩过些坑,得到的结论,不一定精确

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

  • 相关阅读:
    2019-07-26
    2019-07-25
    免费的论文查重网站
    图片转链接
    hexo GitHub创建博客是遇到的问题
    苹果手机安装小火箭
    旅游--南京
    查看电脑基本信息以及电脑性能分析
    Android 不能root
    x-mind ZEN 指定安装路径(其他默认安装c盘可参考)
  • 原文地址:https://www.cnblogs.com/Zting00/p/7497629.html
Copyright © 2011-2022 走看看