Самая популярная библиотека JavaScript в Интернете была обновлена. jQuery 1.7 теперь можно загрузить с docs.jquery.com/Downloading_jQuery . В качестве альтернативы, если вы предпочитаете CDN, используйте любой из следующих URL:
- http://code.jquery.com/jquery-1.7.min.js
- http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js
- http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.min.js
Итак, давайте посмотрим, что нового …
Удаленные функции
Прежде чем мы рассмотрим новые и блестящие вещи, вы должны проверить существующий код. Ты используешь:
- event.layerX или event.layerY
- jQuery.isNaN () (недокументированная служебная функция)
- jQuery.event.proxy () (недокументированный метод)
Если да, то jQuery 1.7 может сломать вашу систему.
API новых событий: on () и off ()
Новые методы on () и off () объединяют обработку событий в jQuery, поэтому нет необходимости использовать bind (), делегат () или более старые вызовы live (). Синтаксис:
$(elements).on( events [, selector] [, data] , handler );
$(elements).off( [events] [, selector] [, handler] );
Пример 1 — привязать событие клика к ссылке:
// onclick
$("a#mylink").on( "click", MyHandler );
// identical
// to: $("a#mylink").bind( "click", MyHandler );
// or: $("a#mylink").click( MyHandler );
Пример 2 — связать событие click со всеми элементами в неупорядоченном списке с помощью делегата:
// onclick
$("ul#mylist").on( "click", "li", MyHandler );
// identical to:
// $("ul#mylist").delegate( "li", "click", MyHandler );
Существующие методы bind () и делегат () все еще существуют, но команда рекомендует использовать on () и off () для всех новых проектов, использующих jQuery 1.7.
Поддержка HTML5 для IE6, 7 и 8
Такие методы, как html (), теперь поддерживают теги HTML5, такие как header
footer
article
Обратите внимание, что в этих браузерах вам все равно потребуется HTML5 .
Новый метод isNumeric ()
Как вы, наверное, догадались, новая функция isNumeric () возвращает true, если значение является числом, например
$.isNumeric(10); // true
$.isNumeric("10"); // true
$.isNumeric(0); // true
$.isNumeric(""); // false
$.isNumeric(true); // false
$.isNumeric(Infinity); // false
Новый объект Callbacks ()
Объект jQuery.Callbacks () возвращает многоцелевой объект, используемый для управления списками обратных вызовов. По сути, это обобщенный способ ставить в очередь и запускать серию обработчиков. Это расширенная функция — в большинстве случаев предпочтительным является объект jQuery.Deferred более высокого уровня.
Разные улучшения и исправления ошибок
Были рассмотрены следующие вопросы:
- Показатели делегатских событий удвоились в 1,7. Команда jQuery определила, что делегирование приобретает все большее значение в инфраструктуре приложений, и произвела дальнейшую оптимизацию основного кода.
- Переключение анимации, включая slideToggle () и fadeToggle (), теперь работает корректно после завершения эффектов в очереди с помощью stop ().
- Метод is () теперь корректно фильтрует позиционные селекторы, такие как: first,: last и: даже по документу — не объект jQuery, переданный
is()
- Метод .removeData () теперь принимает один или несколько ключей в массиве или через пробел.
- Методу .stop () может быть передана необязательная строка, представляющая имя очереди анимации.
- jQuery теперь поддерживает определение асинхронного модуля (AMD) для определения модулей и зависимостей.
Обновления документации
Подробнее о всех новых функциях см. На странице документации 1.7 . Все новые функции помечены как «Новое в 1.7» .
Вы должны обновить?
Это вопрос на миллион долларов. Команда jQuery усердно работает над минимизацией проблем совместимости, и версия 1.7 вряд ли сломает ваш код. Тем не менее, если вы особенно склонны к риску, отложите обновление на неделю или две. Незначительные ошибки обычно обнаруживаются, исправляются и быстро устраняются.