簡體   English   中英

IE 11 / Firefox中的FireEvent

[英]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();

我不明白這是什么意思。 上面的方塊也是正確的嗎?

  1. if (document.createEvent){}

    檢查是否支持此方法,因為許多用於創建自定義事件的方法已棄用

  2. event = document.createEvent("HTMLEvents");

    如果以上為true,則創建Event對象

    HTMLEvents是要創建的事件的類型。 在這里查看更多

  3. event.initEvent("submit", true, true);

    定義事件名稱。這里的事件名稱為“提交”。

    普通語法是event.initEvent(type, bubbles, cancelable);

  4. form.dispatchEvent(event) ;

    dispatchEvent是create-init-dispatch過程的最后一步,用於將事件分派到實現的事件模型中。 有關dispatchEvent的更多信息

  5. event = document.createEventObject();

這是為了處理Internet Explorer。 它生成一個事件對象。

  1. event.eventType = "submit";

    它將創建"submit"類型的事件

  2. form.fireEvent("submit");

    這將在form上觸發事件

希望這對您有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM