Статьи

Что нового в jQuery 1.7

Самая популярная библиотека JavaScript в Интернете была обновлена. jQuery 1.7 теперь можно загрузить с docs.jquery.com/Downloading_jQuery . В качестве альтернативы, если вы предпочитаете CDN, используйте любой из следующих URL:

Итак, давайте посмотрим, что нового …

Удаленные функции

Прежде чем мы рассмотрим новые и блестящие вещи, вы должны проверить существующий код. Ты используешь:

  • 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, такие как headerfooterarticle Обратите внимание, что в этих браузерах вам все равно потребуется 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 вряд ли сломает ваш код. Тем не менее, если вы особенно склонны к риску, отложите обновление на неделю или две. Незначительные ошибки обычно обнаруживаются, исправляются и быстро устраняются.