JavaScript >> Javascript 文檔 >  >> JavaScript

如何在 JavaScript 中刪除事件處理程序

使用 addEventListener() 刪除已附加到 HTML 元素的事件處理程序 方法,你可以使用 removeEventListener() 方法。

removeEventListener() 接受事件的名稱(如 click , change 等)和對事件處理程序方法的引用作為輸入,並將其從 HTML DOM 中刪除。

假設您有以下 <button> 元素:

<button id="register">Register Now</button>

現在定義一個充當事件處理程序的函數:

const handler = (e) => {
    console.log(`Button is clicked!`);
};

以下代碼片段將上述事件處理程序附加到 click 按鈕事件:

const btn = document.querySelector('#register');
btn.addEventListener('click', handler);

現在從 click 中刪除點擊事件處理程序 按鈕的事件,只需使用 removeEventListener() 事件處理程序如下:

btn.removeEventListener('click', handler);

注意 removeEventListener() 的事件名稱和事件處理函數必須相同 上班。

如果您使用匿名函數作為事件處理程序,則無法刪除它。以下示例不起作用:

const btn = document.querySelector('#register');

// Attach an event handler
btn.addEventListener('click', (e) => {
    console.log(`Button is clicked!`);
});

// Remove an event handler
// It won't have any effect
btn.removeEventListener('click', (e) => {
    console.log(`Event is removed.`);
});

Tutorial JavaScript 教程
  1. Code With Friends:分解我使用 Vue、Firebase 和 Netlify 構建的社區活動平台

  2. 發送表單時更改按鈕/圖標

  3. 如何加密源代碼中的字符串和文件?

  4. 如何從不同的容器中找到多個輸入的總和(輸入可以通過添加按鈕增加)?

  5. 教程:如何構建 IPFS 和文本通知應用程序

  6. 為開源可編程 zapier 構建基礎架構

  7. 使用裝飾器為 Koa API 創建 Swagger 文檔的更好方法?

  1. [使用MongoDB Atla的電子商務家具門戶]

  2. 使用 React 和 ts-audio 構建 Spotify 克隆

  3. 撲熱息痛.js💊| #7:這段 JavaScript 代碼打印了什麼?

  4. 初學者的 React Context – 完整指南 (2021)

  5. Cufon:下劃線文本

  6. 使用 PrismJS 向代碼塊添加語法高亮

  7. JSX 表達式必須有一個父元素。ts(2657) 在 Return 語句中

  1. 使用 Subsocial SDK 在 50 分鐘內構建去中心化 Twitter

  2. 無法選擇文本,無法在 Firefox 中定位插入符號 – Slatejs

  3. Rust 和 Node.js:天作之合

  4. 嘗試將 express node js 作為 https 服務器運行,但它不會運行