[JS筆記]直接觸發 addEventListener 的方法 dispatchEvent()

在 JavaScript 中,直接進行觸發 addEventListener 的方法,可以使用 dispatchEvent() 來進行觸發。

JavaScript 筆記
JavaScript 筆記。圖片來源:Unsplash

直接觸發 addEventListener 程式碼範例

這裡舉例範例程式碼,如果是在一顆按鈕上加上點擊事件,HTML 只需要一顆按鈕:

<button id="myBtn">按我</button>

接著,用 JavaScript 加上點擊事件:

// 宣告按鈕的觸發事件
const myBtn = document.querySelector("#myBtn");
myBtn.addEventListener("click", myclick);

// 觸發的執行函式
function myclick() {
  alert("觸發!");
}

當我們想要在其他地方觸發這個事件的時候,例如最簡單的情境,就是讀取時直接觸發

我們可以用 JavaScript 這樣寫:

// 自動觸發點擊事件 dispatchEvent
const event = new Event("click"); // 創建一個該元素綁定的事件
myBtn.dispatchEvent(event); // 直接觸發

其中,new Event(“事件”),Event 括號裡面的事件,是要與原綁定的 addEventListener 事件相同。也就是說,如果原本綁定的是 change 事件,那麼 Event 括號裡面也要使用 change 事件。

這份範例程式碼呈現的結果,就是讀取檔案之後,會立即觸發一次 myclick() 函式

程式碼範例。圖片來源:Unsplash

完整程式碼

HTML:

<button id="myBtn">按我</button>

JavaScript:

// 宣告按鈕的觸發事件
const myBtn = document.querySelector("#myBtn");
myBtn.addEventListener("click", myclick);

// 觸發的執行函式
function myclick() {
  alert("觸發!");
}

// 自動觸發點擊事件 dispatchEvent
const event = new Event("click"); // 創建一個該元素綁定的事件
myBtn.dispatchEvent(event); // 直接觸發

總結

以上就是在 JavaScript 中,直接觸發 addEventListener 的方法,可以使用 dispatchEvent() 來進行觸發!

直接觸發 addEventListener
dispatchEvent() 來進行觸發。圖片來源:Unsplash


延伸閱讀:

分享這篇文章

發佈留言