我们有一个日期选择器(在 JavaScript 中),其中有一个部分用于检查 IE 8 及更早版本和其他现代浏览器。
if(-1 != navigator.userAgent.indexOf("MSIE")){
obj_caller.target.fireEvent("onchange");
}
else {
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
obj_caller.target.dispatchEvent(evt);
}
它在 Chrome、Firefox、IE8 和更低版本中运行良好,但在 IE 11 中失败。我需要的是一种方法让其他部分在 IE 11 中运行。我只是不知道失败的原因以及如何修复它.
谢谢。
最佳答案
您的问题是 fireEvent 不应在较新的 IE 版本中使用。在 IE9 中添加了对 dispatchEvent 的支持。 http://help.dottoro.com/ljrinokx.php
if(document.createEventObject) {
obj_caller.target.fireEvent("onchange");
} else {
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
obj_caller.target.dispatchEvent(evt);
}
关于javascript - IE 11 调度事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27643181/