对象不支持jquery中的addEventListener IE8

时间:2013-08-20 04:57:13

标签: javascript jquery

我正在使用Jquery 2.0.2,我在IE8中有错误:

  

对象不支持属性或方法' addEventListener' jquery.min.js,第4行6105

除了ie8。

之外,我的所有代码都适用于chrome和firefox

导致这些错误也导致:

  

该物业的价值' $'是null或undefined,不是Function对象

我将查询包含在我使用的其他js文件之上:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>

我知道Jquery2 +不支持IE8,但我不想使用较小版本的Jquery。

3 个答案:

答案 0 :(得分:40)

jQuery 2.x已经放弃了对IE的支持&lt; 9,所以如果你想支持IE7&amp; 8然后使用最新版本的1.x分支 - 现在1.11.0

来自jQuery

  

jQuery 2.x与jQuery 1.x具有相同的API,但不支持   Internet Explorer 6,7或8. jQuery 1.9升级中的所有注释   指南也适用于此处。由于IE 6/7/8仍然比较常见,   我们建议使用1.x版本,除非您确定没有IE 6/7/8   用户正在访问该网站。

答案 1 :(得分:11)

jQuery 1.9相当于jQuery 2.0,就功能,错误修复等而言。它们都是积极开发的。

唯一的区别是删除了提供IE兼容性的代码,以使文件大小和执行速度更好。

如果您想根据浏览器使用不同的jQuery版本,可以使用条件标记,如下所示。

<!--[if !IE]> -->
    <script src="jquery-2.0.0b2.js"></script>
<!-- <![endif]-->

<!--[if IE]>
    <script src="jquery-1.9.1.js"></script>
<![endif]-->

注意styntax突出显示。第一个是两个注释,它们是脚本标记的兄弟,而后者是一个带有脚本标记的注释。浏览器只遵循DOM解析的规则,并加载/执行第一个脚本。 IE偏离并且不会执行第一个,但会执行后者。

答案 2 :(得分:0)

jQuery 2.x已经放弃对IE的支持&lt; 9.但是,您可以在同一网页中使用多个jQuery版本

可以使用jQuery.noConflict()

完成此操作