- Node.js 教程
- Node.js - 首页
- Node.js - 简介
- Node.js - 环境搭建
- Node.js - 第一个应用程序
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调函数概念
- Node.js - 上传文件
- Node.js - 发送邮件
- Node.js - 事件
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 进程
- Node.js - 应用程序扩展
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲区
- Node.js - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 查询数据
- Node.js - MySQL 条件查询
- Node.js - MySQL 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 连接查询
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB 数据限制
- Node.js - MongoDB 连接查询
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
Node.js eventTarget.dispatchEvent() 方法
eventTarget.removeEventListener() 方法用于移除之前使用 eventTarget.addEventListener() 方法添加的事件监听器。
此方法属于 node:events 模块的 EventTarget 类。
语法
以下是 NodeJs eventTarget.removeEventListener() 方法的语法:
eventTarget.removeEventListener(type, listener, [, options])
参数
此方法接受三个参数,如下所述。
此方法包含三个参数,如下所述。
- type:此参数包含一个字符串值,表示要监听的事件类型。
- listener:当发生指定类型的事件时接收通知的对象。
- options:(可选)
- once:布尔值,指示监听器是否只调用一次。如果为 true,则监听器在调用后将自动移除。
- passive:布尔值,如果为 true,则表示监听器不会调用 Event 对象的 preventDefault() 方法。
- capture:布尔值,指示此类型的事件在分派到任何 EventTarget 之前是否会分派到指定的监听器。在 Node.js 中不直接使用,仅为了 API 完整性而添加。
- signal:当指定的 AbortSignal 对象的 abort() 方法被调用时,监听器将被移除。
示例 1
以下是 NodeJs eventTarget.removeEventListener() 方法的基本示例。
首先,我们导入 node:events 模块,将带有事件类型“foo”的监听器函数传递给 eventTarget.addEventListener() 方法。然后,我们通过调用 eventtarget.removeEventListener() 从事件类型“foo”中移除处理程序的实例。
const { EventEmitter, listenerCount } = require('node:events');
function handler(event){
};
const eventtarget = new EventTarget();
eventtarget.addEventListener('foo', handler);
eventtarget.removeEventListener('foo', handler);
输出
根据上面的程序,我们向事件类型“foo”添加了一个监听器“handler”,然后我们从“foo”中移除了“handler”。
示例 2
在这个程序中,我们将单个监听器函数“handler”与事件类型“foo”一起传递给 eventTarget.addEventListener() 方法。然后,我们通过传递“handler”作为参数来调用 eventtarget.removeEventListener()。
const { EventEmitter, listenerCount } = require('node:events');
function handler(event){
};
const eventtarget = new EventTarget();
eventtarget.addEventListener('foo', handler);
eventtarget.addEventListener('foo', handler);
eventtarget.addEventListener('foo', handler);
eventtarget.removeEventListener('foo', handler);
输出
根据上面的程序,我们向事件类型“foo”添加了三个“handler1”监听器实例,然后我们从“foo”中移除了最近添加的 handler 实例。
示例 3
在下面的程序中,我们添加了最多三个“handler”监听器实例。第一个实例使用 capture: true,其余两个实例使用 capture: false。然后,我们调用 eventTarget.removeEventListener() 方法,不带任何 {capture:} 值。我们再次调用 eventTarget.removeEventListener() 方法,并带有 {capture: true} 值。
const { EventEmitter, listenerCount } = require('node:events');
function handler(event){
};
const eventtarget = new EventTarget();
eventtarget.addEventListener('foo', handler, {capture: true});
eventtarget.addEventListener('foo', handler, {capture: false});
eventtarget.addEvaentListener('foo', handler, {capture: false});
eventtarget.removeEventListener('foo', handler);
eventtarget.removeEventListener('foo', handler, {capture: true});
输出
根据程序,eventtarget.removeEventListener('foo', handler) 将从“foo”事件类型中移除最近添加的实例,而 eventtarget.removeEventListener('foo', handler, {capture: true}) 将从“foo”事件类型中移除 handler 的第一个实例。
