2015-10-16 90 views
0

我有代码片段 document.attachEvent(“onclick”,func);Javascript问题IE 11

每当有一个click事件,我得到这个错误 的JavaScript运行时错误:对象不支持属性或方法“的attachEvent”

我使用jQuery 1.2.6版本。

+0

jQuery是没有问题的......显然IE11使用标准的'element.addEventListener(“点击” ...)',而不是微软attachEvent –

+0

当jQuery v1.3.0于2009年1月14日发布**时,jQuery v1.2.6变得过时了。我强烈建议您不要继续使用超过六年过时的图书馆。 –

回答

1

attachEvent是微软的一项创新,它已被DOM2标准addEventListener取代,即使在微软最新的浏览器中。

因此改变

document.attachEvent("onclick", func); 

document.addEventListener("click", func, false); 

当然,这将在旧的IE失败。

或者,正如你说你使用jQuery,你可以回避整个问题:

$(document).bind("click", func); // Antiquated jQuery 

我也强烈建议您使用jQuery的先进的最新版本,为V1 .2.6在网络条款中是。如果您使用的东西最近,然后你会使用:

$(document).on("click", func);  // Current jQuery 
+0

document.addEventListener(“click”,func,false);虚假代表 –

+0

@PoonamSinghania:'false'意味着你想要事件的冒泡阶段而不是捕获阶段。 'attachEvent'和jQuery *只支持冒泡阶段。在现代浏览器中,您可以关闭第三个参数,但是一些较旧的参数仍然可能需要。 [查看DOM3事件规范的这部分](http://www.w3.org/TR/DOM-Level-3-Events/#event-flow)。 –