在 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中文网其他相关文章!