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

jQuery1.7

Совсем недавно был обновлен самый популярный JavaScript Framework — JQuery 1,7 (можно скачать с http://docs.jquery.com/Downloading_jQuery).

Или же, если вы предпочитаете CDN (использовать библиотеку JQuery с публичных сервисов), выбирайте любой из следующих адресов:

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 может привести к сбою вашей системы.

Новые события APIs: on() и off()

Новые on() и off() методы унифицируют обработку событий в jQuery так что теперь нет необходимости использовать bind(), delegate() или же вызывать прежний метод live(). Синтаксис:

$(elements).on( events [, selector] [, data] , handler );
$(elements).off( [events] [, selector] [, handler] );

Пример 1 — связать событие нажатия на ссылку:

// onclick
$('a#mylink').on( 'click', MyHandler );
// идентично:
$('a#mylink').bind( "click", MyHandler );
// или:
$('a#mylink').click( MyHandler );

Пример 2 — связать событие нажатия на все элементы в неупорядоченный список с помощью метода delegate:

 // onclick
 $('ul#mylist').on( 'click', 'li', MyHandler );
 // идентично:
 $('ul#mylist').delegate( 'li', 'click', MyHandler );

Bind() и delegate() методы все еще существуют, но все же рекомендуется использовать  on() и off() для всех новых проектов с использованием JQuery 1.7.

Поддержка HTML5 для IE6, 7 и 8

Такие методы, как HTML () теперь поддерживают теги HTML5 — header, footer и article. Обратите внимание, что Вам по-прежнему потребуется HTML5 shiv в вышеуказанных браузерах.

Новый метод ISNUMERIC ()

Как вы, наверное, догадались, новая функция ISNUMERIC() возвращает истину, если значение представляет собой число, например,

$.isNumeric(20);        // true
$.isNumeric('20');      // true
$.isNumeric(0);         // true
$.isNumeric('');        // false
$.isNumeric(true);      // false
$.isNumeric(Infinity);  // false

Новый объект Callbacks()

Объект JQuery.Callbacks () возвращает многоцелевой объект, используемый для управления списками обратного вызова. По сути, это обобщенный способ для поочередности и запуска ряда обработчиков. Это дополнительная возможность — в большинстве ситуаций, будет предпочтительнее jQuery.Deferred object более высокого уровня.

Различные исправления и улучшения

Были решены следующие проблемы:

  • Производительность события delegate удвоилась в 1.7. Группа jQuery определила, что делегирование становится все более важным в фреймворках приложений, были сделаны дополнительные улучшения в ядре системы.
  • Переключение анимации, в том числе slideToggle () и fadeToggle (), теперь работает корректно после прекращения очереди эффектов с помощью stop().
  • Метод  is() теперь правильно фильтрует позиционные селекторы, такие как :first, :last и :even.
  • Метод .RemoveData() теперь принимает один или несколько ключей в массиве или строку, разделенную пробелами.
  • Методу  .stop() может быть передана необязательная строка, представляющая имя очереди анимации.
  • JQuery теперь поддерживает определение асинхронного модуля (Asynchronous Module Definition — AMD) для определения модулей и зависимостей.

 

Обновление документации

Для более подробной информации о всех новых возможностях, обратитесь к документации на странице:
http://api.jquery.com/category/version/1.7/ . Все новые функции отмеченные как “New in 1.7?.

Стоит ли обновляться?

Интересный вопрос 🙂 Команда JQuery усердно работает для минимизации проблем совместимости и версия 1.7 вряд ли сможет нанести вред Вашему коду. Тем не менее, если Вы склонны к риску, задержите обновление  на неделю или две. Мелкие ошибки обычно быстро находятся и вскоре исправляются.

Как сделать форму e-mail подписки с валидатором на jQuery?

Источник: http://www.sitepoint.com/jquery-17-whats-new/