Object不支持属性或方法’attachEvent’InternetExplorer 11
如果我在IE11中按下表单发送按钮“Saada”,我将收到一个错误:
Object doesn't support property or method 'attachEvent'
我发现这是一个IE11问题,但我发现的唯一解决方案是使用我的开发人员工具并将浏览器设置为以IE9模式运行。
但我希望每个人都可以使用我的网站而不使用他们的开发者工具
你知道我可以尝试的其他解决方案吗? 或者我可能需要导入其他一些Jquery库?
其他浏览器工作正常,但这只发生在IE11中
attachEvent是旧版Internet Explorer中使用的已弃用函数。 对于现代浏览器,请改用它。
el.addEventListener(evt,func,false);
请参阅此处的文档
您还可以创建一个函数来检查要使用的函数
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); } }
希望这可以帮助
javascript方法attachEvent被IE11中的方法addEventListener替换。
在IE> 8的情况下,JQuery 1.10.1仍然使用此方法。这将导致javascript编译错误。
JQuery 1.10.2似乎已经解决了这个问题。
希望这会有所帮助