在 IE11 中出现错误 "Object doesn't support property or method 'attachEvent'" 但在 IE8、IE9、IE10 中工作

Getting Error "Object doesn't support property or method 'attachEvent'" in IE11 but work in IE8, IE9, IE10

我正在处理 Java doFilter 弹出窗口并使用调用 SAP 的 URL 打开 iFrame jQuery 弹出窗口。

我的代码适用于 Chrome、Mozila firefox、IE8、IE9 和 IE10,但我得到的是:

Object doesn't support property or method 'attachEvent'" Error in IE11.

IE11 有问题吗?

非常感谢任何帮助。

谢谢。

在旧版本的 IE 中,attachEvent 用于为某些元素上的某些事件附加事件处理程序。但是根据更新 here,从 IE11 开始,attachEvent 已被弃用,您应该改用 addEventListener

IE 仅支持 IE9 及更高版本的 addEventListener。所以如果你仍然需要支持 IE8,我建议你使用一些像 jQuery 这样的跨浏览器库来绑定事件处理程序而不是香草 javascript.

由于您已经在使用 jQuery,您可以像下面那样绑定事件

$('#yourElement').on('click', function(){
   // do something when you click on yourElement
}); 

黑客攻击。您可以在执行此操作之前检查 IE11。我只针对 IE11,所以不做任何检查。

<script lang="javascript" type="text/javascript">
        Element.prototype.attachEvent = function(ename, e) {
            this.addEventListener(ename, e);
        }

        Element.prototype.detachEvent = function(ename, e) {
            this.removeEventListener(ename, e);
        }
</script>