先了解一下滚动事件触发的条件

视图或者一个元素在滚动时,会触发元素的 scroll 事件。
备注: 在 iOS UIWebViews 中,滚动进行时不会触发 scroll 事件;只有当滚动结束后事件才会被触发。
只要某一个元素在滚动,就可以注册滚动事件。
ps:滚动事件不一定要注册的 window 上, 可以注册在document上,或者某一个具体的元素上。
滚动事件不一定要注册的 window 上, 可以注册在document上,或者某一个具体的元素上。

window.addEventListener('scroll', xxx方法) 不被触发的原因

今天在做项目的时候,需要做一个滚动的效果。
发现在
mounted(){
window.addEventListener('scroll', this.pageScroll)
}
中注册的滚动事件没有生效。觉得真的很神奇。
我之所以觉得神奇,是因为之前是可以滚动触发的。

解决的办法

第1种: 添加上true
mounted(){
window.addEventListener('scroll', this.pageScroll,true)
} 第2种:查看父级元素是否有overflow:scroll;overflow:auto; 将他们去除。
虽然去除是可以解决的。但是这不是影响滚动事件不被触发的原因。这个是一个表现 第3种:注册在document上
mounted(){
document.addEventListener('scroll', this.pageScroll,true)
} 第4种:如果document上都不触发的话;
4.1 查看是否达到触发的条件。
4.2 注册在一个具体的元素上(这个元素要达到滚动的条件)

无法移除滚动事件

1. 因为事件是注册 document 上的。我移除的时候是 document 上移除的,发现不生效
我又在window 上移除了。结果生效了。神奇~!

尾声

我知道这肯定是哪里影响了。才会出现这些神奇的现象。
我本来想找到本质的原因。
但是后来花了很多时间,还是没有找到原因。就简单记录一下。
希望对小伙伴有用~

window.addEventListener注册滚动scroll事件不生效的更多相关文章

  1. JQUERY 滚动 scroll事件老忘记 标记下

    制作笔记 这个scroll事件 老忘记.... 写的太垃圾了  希望有路过的大神指点的吧~ 这个貌似应该写个函数里 调用好些的吧~  写个类这样的 也方便扩展貌似  不过就是想想  ~ $(windo ...

  2. JavaScript进阶系列05,事件的执行时机, 使用addEventListener为元素同时注册多个事件,事件参数

    本篇体验JavaScript事件的基本面,包括: ■ 事件必须在页面元素加载之后起效■ 点击事件的一个简单例子■ 为元素注册多个点击事件■ 获取事件参数 ■ 跨浏览器事件处理 □ 事件必须在页面元素加 ...

  3. window.addEventListener来解决让一个js事件执行多个函数

    可能你也碰到过这种情况,就是在js的代码中用了window.onload后,可能会影响到body中的onload事件.这时就要用window.attachEvent和window.addEventLi ...

  4. window.addEventListener绑定事件记得删除

    在做postMessage通信时,window.addEventListener绑定的事件记得要remove掉 就和setTime一样,不然占用内存资源

  5. vue 中监听窗口发生变化,触发监听事件, window.onresize && window.addEventListener('resize',fn) ,window.onresize无效的处理方式

    // 开始这样写,不执行 window.onresize = function() { console.log('窗口发生变化') } // 改成window监听事件 window.addEventL ...

  6. vue 中scroll事件不触发问题

    在vue项目中需要监听滚动条滚动的位置,结果写了scroll监听事件就是不生效,最后查资料发现是页面有样式设置了over-flow:scroll,去掉之后完美解决.(页面样式中存在over-flow: ...

  7. 【前端性能】高性能滚动 scroll 及页面渲染优化

    最近在研究页面渲染及web动画的性能问题,以及拜读<CSS SECRET>(CSS揭秘)这本大作. 本文主要想谈谈页面优化之滚动优化. 主要内容包括了为何需要优化滚动事件,滚动与页面渲染的 ...

  8. 【前端性能】高性能滚动 scroll 及页面渲染优化--转发

    本文主要想谈谈页面优化之滚动优化. 主要内容包括了为何需要优化滚动事件,滚动与页面渲染的关系,节流与防抖,pointer-events:none 优化滚动.因为本文涉及了很多很多基础,可以对照上面的知 ...

  9. 高性能滚动 scroll 及页面渲染优化

    最近在研究页面渲染及web动画的性能问题,以及拜读<CSS SECRET>(CSS揭秘)这本大作. 本文主要想谈谈页面优化之滚动优化. 主要内容包括了为何需要优化滚动事件,滚动与页面渲染的 ...

  10. 前端高性能滚动 scroll 及页面渲染优化

    前言 最近在研究页面渲染及web动画的性能问题,以及拜读<CSS SECRET>(CSS揭秘)这本大作.本文主要想谈谈页面优化之滚动优化. 主要内容包括了为何需要优化滚动事件,滚动与页面渲 ...

随机推荐

  1. 数仓出现“wait in ccn queue”的时候,怎么迅速定位处理?

    摘要:现网在使用动态负载管理的时候,经常出现很多wait in ccn的情况,大家处理起来就会认为是hung住或者怎么着了,很着急,但wait ccn其实就是一个等待资源的状态,在此总结一个ccn问题 ...

  2. Axure 表格中根据条件设置不同的字体样式--中继器

    中继器+表格,根据条件设置不同的字体样式 思路:根据情形,设置不同的颜色,因为Axure 不能直接对元件的样式进行交互设置,所以借助[动态面板]进行设置 绘制表格详见:https://www.cnbl ...

  3. 构造函数中,获取yml中的参数

    成员变量的注入是在Bean创建成功之后,通过setter方法进行注入的.所以下面会获取不到值 @RestController public class VipsoftImController { @A ...

  4. NettyHandler 常用生命周期方法

    NettyHandler 常用生命周期方法 @Component @ChannelHandler.Sharable //表示这里是线程安全的 public class ImServerHandler ...

  5. linux day1:VMware虚拟机配置 CentOS系统配置

    目录 运维岗位说明 计算机的种类 服务器的种类 服务器的品牌 服务器内部组成 缓存和缓冲 服务器磁盘阵列 raid5 linux系统发展史 去IOE运动 虚拟化技术 虚拟化软件下载 VMware安装 ...

  6. Safari 14.0 的功臣 Webp?

    俗话说:一图胜千言.在网上,图片虽然可以让用户更加简单明了地看到更多信息,但是图片体积也可以抵过上千字节甚至更多.研究表明,打开一个 HTTP 网页,其中图片平均占比为 64%.在图片占比如此高的情况 ...

  7. 单位:MB、GB与MiB、GiB

    MB.GB与MiB.GiB的区别在于标准不同,MB使用的是十进制标准(SI标准),MiB使用的是二进制标准(IEC标准) 在工作中最好是先确定使用什么标准,防止出错 换算表: 1KB = 10^3 = ...

  8. 服务器上TIME_WAIT过多怎么处理

    正常情况下,TIME_WAIT是需要存在的 为了保证客户端发送的最后一个ACK报文能够到达服务器,因为这个ACK可能丢失,从而导致处在LAST-ACK状态的服务器收不到对FIN-ACK的确认报文,服务 ...

  9. L2-012 关于堆的判断 (25分) (字符串處理)

    将一系列给定数字顺序插入一个初始为空的小顶堆H[].随后判断一系列相关命题是否为真.命题分下列几种: x is the root:x是根结点: x and y are siblings:x和y是兄弟结 ...

  10. GDP折线图

    1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset=" ...