IE11でEventのdispatchができなかった場合の対応方法

IE11でEventのdispatchができなかった場合の対応方法

以下のように指定 element に submit イベントを dispatch する処理だが、IE11 ではうまく動作しなかった。

var element = document;
element.dispatchEvent(new Event("submit"));

https://developer.mozilla.org/ja/docs/Web/API/Event

上記ドキュメント内のブラウザ毎の対応表を見るとどうやら Event インターフェイス自体は IE11 は装備しているみたいだが、コンストラクタがなかった。

仕方なく下記のようにして対応。

var element = document;
var event = document.createEvent("Event");
event.initEvent("submit", false, true);
element.dispatchEvent(event);

※この実装自体は非推奨でかつ以後動作しなくなる可能性があるので注意が必要