小编典典

如何在 JavaScript 中触发事件?

all

我已使用 将事件附加到文本框addEventListener。它工作正常。当我想从另一个函数以编程方式触发事件时,我的问题就出现了。

我该怎么做?


阅读 98

收藏
2022-03-06

共1个答案

小编典典

注意:initEvent方法现在已被弃用。其他答案具有最新和推荐的做法。


您可以在 IE 8* 或更低版本上使用fireEvent ,在 大多数 其他浏览器上使用 W3C 的dispatchEvent
要创建要触发的事件,您可以使用其中一个或取决于浏览器。
*
__createEvent``createEventObject

这是一段不言自明的代码(来自原型),它dataavailable在 上触发事件element

var event; // The custom event that will be created
if(document.createEvent){
    event = document.createEvent("HTMLEvents");
    event.initEvent("dataavailable", true, true);
    event.eventName = "dataavailable";
    element.dispatchEvent(event);
} else {
    event = document.createEventObject();
    event.eventName = "dataavailable";
    event.eventType = "dataavailable";
    element.fireEvent("on" + event.eventType, event);
}
2022-03-06