element.removeEventListener() 移除事件监听
最后更新:2026-09-09
element.removeEventListener() 移除事件监听
removeEventListener 移除事件监听器。必须传入与添加时**完全相同的函数引用**。
| 分类 | DOM 操作 |
|---|---|
| ES 版本 | DOM |
📝 语法
元素.removeEventListener('事件类型', 回调函数);
⚙️ 参数
| type | 事件类型。 |
|---|---|
| listener | 要移除的回调函数(必须是同一引用)。 |
返回值:undefined。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
(监听器已移除)
⚠️ 警告 removeEventListener 必须传入与 addEventListener 完全相同的函数引用——匿名函数无法移除。
💡 提示 需要移除时用命名函数或把函数赋值给变量。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| element.removeEventListener() | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关条目
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
QremoveEventListener 为什么需要同一个函数引用?
A内部通过函数引用匹配——不同的函数(即使内容相同)是不同的监听器。
Q如何移除匿名函数的监听器?
A无法直接移除——用 AbortController:const ctrl = new AbortController(); el.addEventListener('click', fn, { signal: ctrl.signal }); ctrl.abort();
QaddEventListener 的第三个参数是什么?
A可选选项对象:{ once: true, capture: true, passive: true, signal }。