对象不支持jquery中的addEventListener IE8

com*_*bal 26 javascript jquery

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

Object不支持属性或方法'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>
Run Code Online (Sandbox Code Playgroud)

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

Aru*_*hny 40

jQuery 2.x已经放弃了对IE <9的支持,所以如果你想支持IE7&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用户访问该站点.


Bri*_*and 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]-->
Run Code Online (Sandbox Code Playgroud)

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