
- 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 的第一個例項。