問題

我使用addEventListener將一個事件附加到文字框.它工作正常.當我想從另一個函式以程式設計方式觸發事件時出現問題.

我該怎麼做?

  最佳答案

您可以在IE 8或更低處使用 fireEvent ,在大多數其他瀏覽器上使用W3C的 dispatchEvent .為了建立您想要觸發的事件,您可以根據瀏覽器使用createEventcreateEventObject.

以下是一段自我解釋的程式碼(來自原型),觸發element上的事件dataavailable:

 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);
}
 

  相同標籤的其他問題

javascripteventstriggersaddeventlistenerdom-events