FireEvent在IE 11 /火狐
我有这种情况的迁移从IE 9到11与Firefox和增加支撑我collegue之一已经取代FireEvent在IE 11 /火狐
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");
如果上面是真的牛逼母鸡创建
Event
对象HTMLEvents
是要创建的事件的类型。更多 -
event.initEvent("submit", true, true);
定义事件name.Here事件名称为 “提交”。
正常语法
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
希望这会对你有所帮助。
那么为什么这两个部分呢?哪个是IE?哪个适用于其他浏览器? –
else循环正在检查ie。我已经提到它 – brk
谢谢。实际上我不是前端开发人员。还有一个疑问是如何form.fireEvent(“onsubmit”);已经改为form.fireEvent(“提交”);有什么区别 –
'var event;' - 坏的开始... IE有一个全局变量叫做'event' –