[英]FireEvent in IE 11/Firefox
我有從IE 9遷移到11的情況,並增加了對Firefox的支持,而我的一位同事已替換了
form.fireEvent("onsubmit");
與以下塊
var event; // The custom event that will be created
if (document.createEvent) {
event = document.createEvent("HTMLEvents");
event.initEvent("submit", true, true);
form.dispatchEvent(event);
} else {
event = document.createEventObject();
event.eventType = "submit";
form.fireEvent("submit");
}
form.submit();
我不明白這是什么意思。 上面的方塊也是正確的嗎?
if (document.createEvent){}
檢查是否支持此方法,因為許多用於創建自定義事件的方法已棄用
event = document.createEvent("HTMLEvents");
如果以上為true,則創建Event
對象
HTMLEvents
是要創建的事件的類型。 在這里查看更多
event.initEvent("submit", true, true);
定義事件名稱。這里的事件名稱為“提交”。
普通語法是event.initEvent(type, bubbles, cancelable);
form.dispatchEvent(event)
;
dispatchEvent
是create-init-dispatch過程的最后一步,用於將事件分派到實現的事件模型中。 有關dispatchEvent的更多信息
event = document.createEventObject();
這是為了處理Internet Explorer。 它生成一個事件對象。
event.eventType = "submit";
它將創建"submit"
類型的事件
form.fireEvent("submit");
這將在form
上觸發事件
希望這對您有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.