我有这种从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();
我无法理解这意味着什么。上面的块也正确吗?
答案 0 :(得分:0)
if (document.createEvent){}
检查是否支持此功能,因为许多方法用于创建自定义事件已弃用
event = document.createEvent("HTMLEvents");
如果满足以上条件,则创建Event
对象
HTMLEvents
是要创建的事件类型。 Check Here了解更多
event.initEvent("submit", true, true);
定义事件名称。事件名称为“submit”。
正常语法为event.initEvent(type, bubbles, cancelable);
form.dispatchEvent(event)
;
dispatchEvent
是create-init-dispatch流程的最后一步,用于将事件分派到实现的事件模型中。More about dispatchEvent
event = document.createEventObject();
这是为了处理Internet Explorer。它会生成一个事件对象。
event.eventType = "submit";
它将创建类型为"submit"
form.fireEvent("submit");
这会触发form
希望这会对你有所帮助。