Подтвердить что ты не робот

Объект не поддерживает addEventListener IE8 в jquery

Я использую JQuery 2.0.2, и у меня есть ошибка в IE8:

Объект не поддерживает свойство или метод 'addEventListener' jquery.min.js, строка 4 символ 6105

Как-то все мои коды в порядке с хром и firefox, кроме ie8.

Получение этих ошибок также привело к:

Значение свойства '$' равно null или undefined, а не объекту Function

Я включил запрос поверх других js файлов, которые у меня есть:

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

Я знаю, что Jquery2 + не поддерживает IE8, но я не хочу использовать меньшую версию JQuery.

4b9b3361

Ответ 1

jQuery 2.x потерял поддержку IE < 9, поэтому, если вы хотите поддерживать IE7 и 8, используйте последнюю версию ветки 1.x - теперь 1.11.0

Из jQuery

jQuery 2.x имеет тот же API, что и jQuery 1.x, но не поддерживает Internet Explorer 6, 7 или 8. Все примечания в jQuery 1.9 Upgrade Здесь также применяется руководство. Поскольку IE 6/7/8 все еще относительно распространены, мы рекомендуем использовать версию 1.x, если вы не уверены, что IE 6/7/8 пользователи посещают сайт.

Ответ 2

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]-->

Обратите внимание на подсветку синтаксиса. Первый - это всего два комментария, которые являются братьями и сестрами тега script, а последний - комментарием с тегом script внутри него. Браузеры просто следуют правилам разбора DOM и загружают/выполняют первый script. IE отклоняется и не будет выполнять первое, но будет выполнять последнее.

Ответ 3

jQuery 2.x отказался от поддержки IE < 9. Однако вы можете использовать несколько версий jQuery на той же веб-странице.

Это можно сделать, используя jQuery.noConflict()