[英]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.