网页调用 removeEventListener 后事件仍然触发,先要核对原注册记录中的目标、事件类型、监听函数对象和 capture,而不是直接认定监听器没有删掉。removeEventListener 只有在同一目标上匹配同一事件类型、同一个函数对象以及相同的 capture 设置时才生效;其他 options 不是此匹配的必需项。函数名看起来相同但实际是另一个函数实例,注册在父元素而移除写在子元素,或者事件类型字符串不一致,都会导致匹配失败。capture 为 true 与 false 会形成捕获阶段和非捕获阶段的两份注册,必须分别移除;只移除其中一份,另一份仍可能响应。找不到匹配项时,本次调用没有移除效果,也不会因为这次调用而自动清掉目标上的其他监听器,所以页面看起来像“移除无效”。旧浏览器对 options 的处理存在差异,现场还要结合实际浏览器版本和实现核对。

适用:保定竞秀区台式电脑浏览器软件侧,已有网页代码或去敏日志中的原注册与移除记录可做只读核对,只核对原注册与移除记录,不拆客户活动监听;不运行客户页面脚本,不改 DOM、存储、历史或监听,不读取客户文件,也不重发业务请求。
观察:先找 addEventListener 与 removeEventListener 的成对记录,逐项比对目标节点、事件类型、函数引用和 capture,并确认是否存在同名但不同实例的回调;再查看捕获与非捕获是否各注册过一次。若移除记录使用的是匿名函数或箭头函数,而注册时保存的是另一个函数对象,应记为不匹配;若 options 中只有 passive 等变化而 capture 一致,按现行机制不把其他选项当作匹配失败理由,但仍要记录旧浏览器差异。
风险:在于把没有匹配上误判成重复绑定,进而拆除客户仍在使用的活动监听,影响页面交互;只读日志经过去敏后也可能缺少函数身份信息,不能据此推断删除已经成功。
下一步:整理保定竞秀区现场的去敏注册与移除片段、目标元素描述、事件类型、capture 取值、函数是否为同一引用,以及浏览器版本和复现条件,用于后续判断;需要咨询时拨打 400-877-9605,电脑快修网是信息展示与第三方维修对接平台,实际范围和安排需确认。