在 JavaScript 中,直接進行觸發 addEventListener 的方法,可以使用 dispatchEvent() 來進行觸發。
目錄
直接觸發 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() 函式。
完整程式碼
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() 來進行觸發!
延伸閱讀: