在 JavaScript 中,事件通常使用 addEventListener 方法附加到特定元素。但是,有時您需要從另一個函數以程式方式觸發事件。我將解釋這個方法。
過去主要使用兩種方法來觸發事件:fireEvent(IE 8及以下)和dispatchEvent(大多數其他瀏覽器)。但是,不再建議使用 initEvent 方法。
現代方法是使用 createEvent 或 createEventObject 建立事件(取決於瀏覽器支援),並使用dispatchEvent 觸發它。
以下是觸發特定元素上的 dataavailable 事件的範例程式碼。
var event; // カスタムイベント if (document.createEvent) { // W3C の dispatchEvent を使用 event = document.createEvent("HTMLEvents"); event.initEvent("dataavailable", true, true); event.eventName = "dataavailable"; element.dispatchEvent(event); } else { // IE 8 以下用の fireEvent を使用 event = document.createEventObject(); event.eventName = "dataavailable"; event.eventType = "dataavailable"; element.fireEvent("on" + event.eventType, event); }
此程式碼為 dataavailable 事件建立自訂事件,並以程式設計方式在指定的 element 元素上觸發它。
以上是如何在 JavaScript 中以程式方式觸發事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!