EventTarget: dispatchEvent() 方法
注意:此功能在 Web Workers 中可用。
EventTarget 的 dispatchEvent() 方法會將一個 Event 物件傳送到該物件,(同步地)按照正確的順序呼叫受影響的事件監聽器。手動使用 dispatchEvent() 派發的事件也同樣遵循常規事件處理規則(包括捕獲階段和冒泡階段)。
呼叫 dispatchEvent() 是觸發事件的最後一步。事件應該已經使用 Event() 建構函式建立並初始化。
注意: 呼叫此方法時,Event.target 屬性將被設定為當前的 EventTarget。
與由瀏覽器觸發並非同步地透過 事件迴圈 呼叫事件處理程式的“原生”事件不同,dispatchEvent() 是同步地呼叫事件處理程式的。所有適用的事件處理程式都會被呼叫並返回,然後 dispatchEvent() 才會返回。
語法
js
dispatchEvent(event)
引數
event-
要派發的
Event物件。它的Event.target屬性將被設定為當前的EventTarget。
返回值
如果 event 是可取消的,並且至少有一個接收到 event 的事件處理程式呼叫了 Event.preventDefault(),則返回 false。否則返回 true。
異常
InvalidStateErrorDomException-
如果在事件初始化期間未指定事件型別,則丟擲此異常。
警告: 事件處理程式中丟擲的異常會被報告為未捕獲的異常。事件處理程式在巢狀的呼叫棧中執行;它們會阻塞呼叫者直到完成,但異常不會傳播到呼叫者。
示例
請參閱 建立和派發事件。
規範
| 規範 |
|---|
| DOM # ref-for-dom-eventtarget-dispatchevent③ |
瀏覽器相容性
載入中…