我已使用 将事件附加到文本框addEventListener。它工作正常。当我想从另一个函数以编程方式触发事件时,我的问题就出现了。
addEventListener
我该怎么做?
注意:initEvent方法现在已被弃用。其他答案具有最新和推荐的做法。
您可以在 IE 8* 或更低版本上使用fireEvent ,在 大多数 其他浏览器上使用 W3C 的dispatchEvent 。要创建要触发的事件,您可以使用其中一个或取决于浏览器。 * __createEvent``createEventObject
createEvent``createEventObject
这是一段不言自明的代码(来自原型),它dataavailable在 上触发事件element:
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); }