我们有一个datepicker (在JavaScript中),它有一个用于检查IE8和更早版本以及其他现代浏览器的部分。
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、火狐、IE8及更低版本中运行良好,但在IE 11中运行失败。我需要的是一种方法,让else部分在IE 11中运行。我就是找不到失败的地方以及如何修复它。
谢谢。
发布于 2014-12-25 10:08:59
你的问题是不应该在新的IE版本中使用fireEvent。在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);
}https://stackoverflow.com/questions/27643181
复制相似问题