如何在JavaScript中触发事件? [英] How to trigger event in JavaScript?
问题描述
我已经使用 addEventListener
将事件附加到文本框。工作正常当我想通过其他功能以程序方式触发事件时,出现了问题。
I have attached an event to a text box using addEventListener
. It works fine. My problem arose when I wanted to trigger the event programmatically from another function.
我该怎么做?
推荐答案
IE 8或更低版本的href =http://msdn.microsoft.com/en-us/library/ms536423%28VS.85%29.aspx =noreferrer> fireEvent ,而w3c的<大多数其他浏览器上的href =https://developer.mozilla.org/en/DOM/element.dispatchEvent =noreferrer> dispatchEvent 。要创建要触发的事件,您可以根据浏览器使用 createEvent
或 createEventObject
。
You can use fireEvent on IE 8 or lower, and w3c's dispatchEvent on most other browsers. To create the event you want to fire, you can use either createEvent
or createEventObject
depending on the browser.
这是一个不言自明的代码片段(原型),在 dataavailable
>元素:
Here is a self-explanatory piece of code (from prototype) that fires an event dataavailable
on an element
:
var event; // The custom event that will be created
if (document.createEvent) {
event = document.createEvent("HTMLEvents");
event.initEvent("dataavailable", true, true);
} else {
event = document.createEventObject();
event.eventType = "dataavailable";
}
event.eventName = "dataavailable";
if (document.createEvent) {
element.dispatchEvent(event);
} else {
element.fireEvent("on" + event.eventType, event);
}
这篇关于如何在JavaScript中触发事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!