对象不支持属性或方法" attachEvent' InternetExplorer 11

时间:2015-02-22 15:14:31

标签: jquery wordpress forms internet-explorer-11

如果我在 IE11 中按下表格发送按钮“Saada”,我将收到错误:

Object doesn't support property or method 'attachEvent'

我发现这是 IE11 问题,但我找到的唯一解决方案是使用我的开发人员工具并将浏览器设置为在 IE9 模式下运行示例

但我希望每个人都可以在不使用开发者工具的情况下使用我的网站 你知道我可以尝试的其他解决方案吗?或者我可能需要导入其他一些 Jquery 库?

其他浏览器工作正常,但这只发生在IE11中

1 个答案:

答案 0 :(得分:7)

attachEvent是旧版Internet Explorer中使用的已弃用函数。 对于现代浏览器,请改用它。

el.addEventListener(evt,func,false);

请参阅文档here

您还可以创建一个功能来检查要使用的功能

function addListener(el, event, func){
    if (el.addEventListener) {
       el.addEventListener(event, func, false);
    }
    else {
       el.attachEvent("on"+event, func);
    }
}

然后你可以通过这样做来附加你的事件:

var element = document.getElementById('myElement');
addListener(element, 'click', function(){
    alert('You have clicked!');
});

如果你不能这样做,那么填充物可能会起作用。尝试在某处插入:

if(!document.attachEvent){
  Object.prototype.attachEvent=function(event,func){
    this.addEventListener(event.split('on')[1], func);
  }
}

希望这有帮助