Пользователь
0,4
рейтинг
10 августа 2012 в 18:38

Разработка → Релиз jQuery 1.8 перевод

(Опубликовано на сайте разработчиков 9 августа 2012)
Август стал немного жарче из-за того что зарелизилась библиотека jQuery 1.8! Вы можете брать код из CDN на сайте jQuery:

  code.jquery.com/jquery-1.8.0.min.js (минфицированный и сжатый код — для рабочих версий сайтов)
  code.jquery.com/jquery-1.8.0.js (несжатая библиотека, для отладки)

Как обычно, Google и Microsoft CDNs будут тоже раздавать эти файлы (не спрашивайте нас, когда — мы не знаем!). Если очень хочется, воспользуйтесь нашей копией из jQuery CDN.

Мы не ждем от вас сообщения об ошибках в релиз-версии, так как было несколько бета-версий и релиз-кандидат; у вас было много возможностей для тщательного тестирования (ха-ха, шутка). Мы знаем, что слишком многие из вас ждали финального релиза. Так что теперь нет никаких оснований ждать, и вы можете узнать, нет ли ошибок, о которых сообщалось ранее в багрепортах.
UPD 31.08.2012: jQuery 1.8.1.

Если вы найдёте ошибку, пожалуйста, создайте тест на jsFiddle или jsbin и отправьте отчет об ошибке в наш багтрекер. Если вы не уверены, что нашли ошибку — приглашаем на наш форум. Ядро jQuery ​​1.8.0 совместимо с последними версиями jQuery UI (1.8.22) и jQuery Mobile (1.1.1). Не забудьте обновить их, если вы сообщаете ошибки на страницах, которые связаны с ними.

Быстрый обзор jQuery 1.8


Перечислим важные изменения в этом релизе:

Рефакторинг Sizzle. Селекторы в jQuery стали ещё быстрее благодаря переписыванию кода Тимми Виллисоном (в действительности, два автора). Конечно, большинство браузеров имеют querySelectorAll, но почти каждая реализация кое-где отстает по скорости и имеет кроссбраузерные особенности. Sizzle все упрощает. К тому же, вы можете пользоваться селекторами типа :has() со сложным селектором или :contains(). Ах да, IE6/7 всё ещё поддерживаются.
Перерисована анимация. Со временем код анимации в jQuery стал довольно беспорядочным. Кори Франг (Corey Frang) с головой погрузился в это болото и прикончил почти всех аллигаторов, ну, то есть ошибки. Большинство изменений не очевидны, интерфейс не затрагивают, поэтому прежние анимации должны работать (и работать лучше). Но есть и некоторые отличные доработки, делающие анимацию мощнее и расширяемее. Одна из заметных и полезных функций — использование progress callbacks в Promises. Мы все еще ​​работаем над подробной документацией, но у нас есть предварительный проект. И пример нового кода в действии: jsbin.com/odocid/1/edit.

Автоматическая префиксация CSS. При использовании свойства CSS — .css() или .animate(), мы делаем в стилях браузера при необходимости правильный префикс. Например, возьмем .css(«user-select», «none»). В Chrome / Safari установим значение "-webkit-user-select", в Firefox — "-moz-user-select", а ИЕ10 будет использовать "-ms-user-select".

Более гибкий $(HTML, свойства). В jQuery 1.8 вы можете использовать любой метод или плагин для объектов из $(html, props). Раньше допускался краткий список методов, и не было его документирования. Теперь такой список не нужен! Но имейте в виду, что это может привести к другому поведению вашего кода, если плагин будет добавлен ​​позже и имеет то же имя, что и атрибуты HTML.

Закрыто более 160 багов. В частности, переписывание Sizzle и анимаций дало толчок к исправлению нескольких старых ошибок, некоторым из которых уже 2-3 года. Майк Шеров (Mike Sherov) решил большинство ошибок CSS и позиционирования и свёл их почти к нулю. Кроме того, мы не отказались от своей линии устранения раздражающих различий между IE 6/7/8 и современными браузерами, так что вам не придется иметь дело с ними.

Меньший объём кода. Несмотря на все рефакторинги, новые функции и устранения ошибок, сжатый файл jQuery 1.8 стал на несколько сот байт меньше, чем в версии 1.7.2. Сокращение размера не было самоцелью в этой версии, но мы чувствовали, что важно следить за ростом объёма кода, и это дало плоды. Большое спасибо Ричарду Гибсону, контролирующему размер кода по всему проекту.

Модульность: Если вы хорошо знаете jQuery-зависимости своего проекта, можно использовать новую grunt-систему, чтобы вырезать часть jQuery, которая точно не понадобится. То, что мы сделали сейчас на 1.8 — в действительности, только начало; всё еще гибче в следующих версиях.

Полный список изменений приведён ниже (на случай, если вам будет интересно, устранена ли ваша любимая ошибка).

Что было удалено


Короткий ответ: «очень мало». Мы хотели бы предоставить полный список уведомлений об устаревших функциях, которые будут удалены в 1.9, чтобы дать время для адаптации кода. Некоторые из вещей, удаленных в 1.8 — недокументированные внутренние функции, которые некоторыми успешно использовались через реверс-инжиниринг, но это всегда рискованно — использовать недокументированные функции. Вот что удалено:

$(element).data(“events”). В версии 1.6 jQuery стала отделять свои внутренние данные от данных пользователя, для предотвращения конфликта имен. Тем не менее, некоторые люди используют недокументированные внутренние «события» структуры данных, поэтому мы давали возможность всё ещё получать их, через .data(). Теперь это невозможно в 1.8, но вы все еще ​​можете получить данные к событиям для отладки с помощью $._data(element, «events»). Заметим, что это не поддерживается открытым интерфейсом — фактическая структура данных может быть несовместимой от версии к версии.

Deferred.isResolved() и Deferred.isRejected(). Вызывать N-1 методов, возвращающих Boolean, чтобы получить состояние N-й переменной становилось немного глупо, поэтому мы добавили Deferred.state() в jQuery 1.7, чтобы определить состояние за один вызов. Таким образом, эти два старых метода больше не нужны. Это намного удобнее для отладки сценариев, в которых часто хотят знать состояние Deferred в виде строки.

$(element).closest(Array), возвращающий Array. Это было странной особенностью метода .closest(), нужной для устаревшего .live(), но насколько мы знаем, не использовавшейся другим кодом. Сейчас, как и везде, .closest() будет возвращать объект jQuery.

$.CurCSS. Этот метод был просто псевдонимом для jQuery.css(), начиная с jQuery 1.3. Хотя свойство никогда не было частью документации API, некоторые его использовали. Теперь его больше нет.

$.AttrFn: Еще одно недокументированное свойство, используется для определения, какие методы могут быть использованы в сочетании с $(html, props). Хотя это не работает в jQuery 1.8, мы оставляем пустыми $.attrFn в jQuery, чтобы избежать ошибок в коде, который его использует. Внимание: Это будет полностью удалено в jQuery 1.9, поэтому обновляйте свой ​​код!

Участники


Этот релиз не мог состояться без напряженной работы талантливой команды. Основные участники разработки jQuery: Джулиан Aubourg (jaubourg), Кори Frang (gnarf), Ричард Гибсон (gibson042), Майк Шеров (mikesherov), Рик Уолдрон (rwaldron), и Тимми Willison (timmywil).

Мы признательны членам команды команды и сообщества, внёсших основной вклад в течение цикла разработки jQuery 1.8: Энди Monat, Роберт Катич, Joaoh Бруни, Sindre Sorhus Олег Gaidarenko, Иегуда Кац, Тимо Tijhof Доминик Д. Гейер Скотт Гонсалес, Йорн Zaefferer, Мэтт Фармер, Trey Hunner, Джейсон Луны, Бен Alman, Джеффри Для Крис Борхерса, Даниил Герман, Владимир Журавлев, Яков Торнтон, Чад Killingsworth, Nowres Рафид, Дэвид Беньямин, Ури Гилад, Крис Фолкнер, Илия Manor, и Даниэль Чатфилд.

Мы очень благодарны тем, кто нашел время, чтобы сообщить об ошибках. Однако, мы не можем исправить ошибку, если не воспроизводим её. Если вы ищете простой способ внести ​​вклад в jQuery, посмотрите на ошибки трекера и помогите нам, создав наглядные регрессионные тесты. Как только мы можем воспроизвести проблему, решение обычно следует быстро. Эти тесты станут основанием для модульного тестирования, которые предотвратят ошибки в будущем для кода, не меняющегося в следующих редакциях.

Журнал изменений: #

(Список багов и задач составлен неоднозначно: в заголовках не указано, то ли это свойство, от которого избавились (таких %80), то ли решённая задача на получение нового свойства. Составлен разными людьми в разное время, поэтому нет одинаковой терминологии в описании. По заголовку бага обо всём нужно догадываться самостоятельно, но в 98% случаев это не составляет проблем. Перевод может ухудшить понимание, поэтому пара пунктов оставлена без перевода. Однако, это — практически полный список изменений в библиотеке, чтение которого создаст представление о них. — прим.перев.)

Ajax


  •  #8205: случайный результат JSONP вызывает утечку памяти в IE8
  •  #8653: jQuery.param выводит "null" и "undefined" в строке запроса
  •  #9399:* jqXHR.success и jqXHR.error _не рекомендуются_
  • #10285: замена evalScript -> cleanScript (?) не работает в IE8
  • #10524: jQuery.fn.load не объединяет параметр data c jQuery.ajaxSetup
  • #10944: $.ajax не всегда возвращает объект, реализующий интерфейс Promise
  • #11013:* _не рекомендуется_ использование Deferred/Promise с синхронным $.ajax
  • #11402: функция evalScript завершается с ошибкой 80020101 в IE
  • #11743: jQuery молча игнорирует ошибки в теге <script> при Ajax-запросе в $.appendTo()
  • #11778: кэшированные XHR-запросов всегда выполняются асинхронно
  • #12122:* асинхронный jQuery.ajax() _не рекомендуется_ использовать с $.Deferred

Атрибуты


  • #11153: поведение jQuery 1.7 при нескольких переносах строки в IE 8
  • #11212: Sizzle.getText преобразует неразрывные пробелы на пробелы в IE
  • #11547: XML DOM .removeAttr() не удаляет атрибуты с изменённым регистром букв
  • #11962: Стандартизация возврата геттерами пустых значений
  • #12127: clone() некорректно копирует состояние checked в ИЕ10

Build


  • #11767: Поддержка custom build без эффектов
  • #11789: Обновление README до описания «grunt build» системы
  • #11856: модульность dimensions
  • #11857: модульность css
  • #11865: модульность offset
  • #11965:** Создание deprecated.js перечисляющего максимум устаревших конструкций
  • #12059: `grunt custom` должен быть минифицирован, + добавление/удааление модулей из заголовков
  • #12158: jQuery 1.8rc1 не работает с YUICompressor 1.4.7

Ядро


  • #10657:* _Не рекомендуется_ jQuery...size(), _рекомендуется_ jQuery...length
  • #11290: селектор интерпретируется как HTML
  • #11470: Добавление встроенного readyP promise
  • #12018:** $(document).ready() срабатывает слишком рано в IE8
  • #12026:** Позволить $(html, props) использовать любой jQuery.fn метод

Css


  • #10373: `document.defaultView` => `window`
  • #10394: jQuery.cssHooks.opacity выбрасывает исключение в не-IE браузерах
  • #10413: width, innerWidth, innerHeight, outerWidth, outerHeight неточны для "box-sizing: border-box" потомков (DOM) невидимых родителей
  • #10679:** поддержка CSS3 vendor prefix
  • #11004: getWH неправильно удаляет отступы и границы, когда box-sizing есть border-box
  • #11787: удаление jQuery.curCSS
  • #12088: Webkit теперь возвращаются проценты по нескольким свойствам getComputedStyle
  • #12148: hide event не срабатывает при toggle

«data»


  •  #7579: jQuery.data() обрезает числа, взятые из data-xxx атрибутов
  • #10589: удалить $.fn.data(«events»)
  • #11435: Устаревший код теста для удаления toJSON из возвращаемых значений .data

Deferred


  • #11010: Сделать Deferred.then == Deferred.pipe подобно Promise/A
  • #11011: Сделать традиционные варианты объектов для флагов $.Callbacks
  • #11736: Удаление отложенных .isResolved() и .isRejected()
  • #11749: сохранить контекст объекта, когда несколько отложенных объектов передаются в $.when()

Размеры в DOM


  •  #6724: неправильное $(window).height() в Mobile Safari (iPhone)
  • #10877: Сделать сеттер для outerWidth/Height
  • #11293: Чтение width или outerWidth пустых TD изменяет ширину колонок
  • #11604: $(elem).width(-val) изменяется при отсутствии операции на $(elem).width(0)
  • #11724: $(document).height() изменилась в Firefox 12

Эффекты


  •  #7109: анимирование ширины начинается с неправильной ширины в webkit
  •  #7157: callback-функция в анимации показывает элемент всё ешё как ":animated"
  •  #8387: при hide/show в webkit для inline- и inline-block-элементов — проблемы с мерцанием
  •  #8627: .animate() не работает при letterSpacing в IE (в версиях 1.5.1+)
  •  #8892: коллбеки срабатывают раньше при fadeIn() и jQuery.fx.off = true
  •  #9217: ошибка JS в IE8: при анимации элемент удаляется до окончания анимации
  •  #9505: animate() — проблемы при смешивании процентов и пикселов в WebKit
  • #11635: Явно указанное свойство overflow:auto переопределяется inline-кодом overflow:hidden при анимации
  • #11755: анимация и её фактические аналоги не должны использовать селектор :hidden
  • #11797: Новая анимация связанных событий
  • #11854: анимация по процентным значениям перескасивает на своё окончание
  • #11971: анимация по background-position не работает IE8
  • #11999: анимация на приращение для блока с position:fixed выполняет вычитание вместо прибавления в Chrome
  • #12117: overflow:hidden неправильно работает при анимации с нулевой высотой или шириной
  • #12138: fadeOut не работает в Chrome на базовых элементах SVG
  • #12150:** свойство border-spacing увеличивается, когда ряды ячеек открываются и скрываются

События


  •  #8545: Утечки при событиях в IE
  • #10067: Появление $.ready при document.readyState === 'interactive' сверх обычного
  • #10895: Хак IE doScrollCheck в bindReady без причин замедляет скорость ie7
  • #11101:* _Не рекомендуется_ события с признаком «exclusive» от метода trigger()
  • #11315: Проблемы с delegate() and :first во вложенных элементах с одинаковыми классами
  • #11328: Клавиша Ctrl не устанавливает event.metaKey в true в Windows
  • #11382: mouseenter не создаётся на теге input с disabled
  • #11500: Баг: обработчик "change" не выполняется при ручном запуске в IE7/8
  • #11621: Запуск события на document не всплывает к window
  • #11718:* _Не рекомендуется_ событие .data()
  • #11719:* _Не рекомендуется_ событие .bind(«ready») event
  • #11731:* _Не рекомендуется_ псевдо-событие "hover"
  • #11733:* _Не рекомендуются_ методы .load(), .unload(), и .error()
  • #11764: Allow delegated non-native events on disabled elements
  • #11786:* _Не рекомендуются_ параметры (сигнатура) .toggle( handler, handler, … )
  • #12203: .undelegate() без аргументов отвязывает все обработчики родительского элемента

Манипуляции (в DOM)


  •  #8894: appendTo() и похожие методы, вызванные после clone(), возвращают неправильный набор элементов в IE
  • #10324: clone() не копирует innerHTML тега object в IE9
  • #11231: Append, Prepend, After, Before должны принимать массив в первом аргументе
  • #11325: Улучшение domManip/buildFragment/clean
  • #11338: Несовместимое поведение с .replaceWith() и отключёнными узлами
  • #11528: ошибка сериализации в ie8 с .html(), включающим теги html5
  • #11566: node.append и похожие не работают, когда узел — DocumentFragment
  • #11617: определить метод $.parseHTML для создания HTML fragments
  • #11809: Утечки памяти в сеттере .text(val) (?)
  • #11898: prevAll() со сложным селектором:not() возвращает результаты в неправильном порядке
  • #12132: баг IE10 при клонировании элементов, не имеющих parentNode

метод offset()


  • #10996: Упрощение offset()
  • #11823: Удаление webkitConvertPointFromNodeToPage

Селекторы


  •  #3778: проблемы поиска селектора
  •  #5568: селекторы ведут себя по-разному с тегами комментариев в FF/IE
  •  #7596: селектор атрибута xpath с квадратными скобками [] ведёт себя некорректно
  •  #8473: В IE9rc *[tabIndex] выделяет все элементы, в том числе без tabIndex
  •  #8906: .(prevAll('span:has(input,select,textarea)')
  •  #9400:* _Не рекомендуются_ селекторы :text, :radio, :checkbox, и т.д.
  •  #9810: Переделка логики позиционных селекторов
  • #10003: Regression/BC break from #6963
  • #10074: Сцепление 2 квадратно-скобочных селекторов [] с :first не работает
  • #10499: :nth-child() внутри :has() рассматривается, как если бы он был за его пределами
  • #10570: :text даёт ошибку в IE7, если на странице есть кроссдоменный iframe
  • #10697: Реконструкция Sizzle
  • #10799: Противоречивые результаты селекторов [name=«name»] (также портится .has)
  • #10809: неправильный тест с использованием ".activeElement" в :focus
  • #11109: Sizzle: относительные выражения обрезаются преждевременно
  • #11120: Ломаются закладки (табы) при некоторых селекторах в IE7
  • #11814: стратегия Sizzle element-rooted QSA (например, присоединение временных id) не учитывает запятой и других разделителей
  • #11826: Исследовать проанализированную систему кеширования для matchesSelector c Sizzle
  • #11902: баг при :not + :contains селекторах
  • #11918: проблемы с селектором :eq при использовании с именем тега, содержащего ':'
  • #11959:** Поддержка селектора :active
  • #11961: «Превышение максимального размера стека» при jQuery...is()
  • #11966:** селектор потомков
  • #11969: Нет проверки на null при поиске в соседних элементах (siblings)
  • #12054: «Uncaught TypeError»: Объект #<HTMLDocument> не имеет метода 'getAttribute'
  • #12057: Sizzle Regression
  • #12082: .find() POS селектор не работает с версии 1.8b2
  • #12153: Error occurs в селекторах

свойство .support


  •  #9385:* _Не рекомендуется_ jQuery.browser
  • #11163: jQuery.support.checkClone всегда true
  • #11249: CSP error в Chrome 18 при загрузке jQuery 1.7.1
  • #11439: jQuery.support.parentNode используется, но больше не будет определяться
  • #11721:* _Не рекомендуется_ и убраны внутренние использования jQuery.support.boxModel
  • #11757: Утечка памяти в фреймах в IE8 в jQuery 1.7.2+
  • #11766: jQuery.support назначен статус «нестабильно»

Перемещения


  •  #9800: Новый метод .addBack (вместо .andSelf)
  • #11539: Все версии jQuery не поддерживают .has() в $(<текстовый_элемент >.parentNode) .has(другой_элемент)
  • #11543: .has() не работает на отсоединённых от DOM элеметах
  • #11706: .has() не срабатывает на document fragments
  • #11738: Удалён .closest(Array), возвращающий Array


*) не рекомендованное (deprecated) использование методов и свойств;
**) реализация новых возможностей или устранение значительных багов (--пометки перев.).

Доп. QA (от перев. из комментариев)


Q: как скачать не полную библиотеку, а выбрать ее части?
A: github.com/jquery/jquery#how-to-build-your-own-jquery leshaogonkov

To create a custom build, use the following special grunt commands:
Exclude ajax:
grunt custom:-ajax

Exclude css:
grunt custom:-css

Exclude deprecated:
grunt custom:-deprecated

Exclude dimensions:
grunt custom:-dimensions

Exclude effects:
grunt custom:-effects

Exclude offset:
grunt custom:-offset

Exclude all optional modules:
grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-offset

Note: dependencies will be handled internally, by the build process.
Перевод: dmethvin
spmbt @spmbt
карма
157,5
рейтинг 0,4
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (28)

  • –27
    Со временем код анимации в JQuery стал грязноватым.

    Как Промптом. И так по всему тексту.
    • +20
      Смотрите исходник — я старался соблюсти дух текста, он такой и есть, писал оригинал не литературовед, причём с шутками. Если есть лучший перевод «Over time, the animation code in jQuery had become kind of messy», пишите в личку, согласуем. Есть такое русское выражение «грязный код» у них — «неряшливый».
    • –26
      Любителям минусовать — предложили бы вариант, действительно. Хотя, наверное, лень.
      Мне — не лень, предложил.
      • +5
        Просто не хорошо критиковать все
        • 0
          А тут и критики-то нет. Один высер.
      • 0
        Сделать полноценно-понятный на русском языке текст не так-то уж и просто. Во-первых надо знать русский язык, во-вторых знать аудиторию, под которую пишешь текст. Сам часто читаю переводы и не всегда нахожу правильные переводы, даже казалось бы простых текстов, а все потому, что переводчик элементарно знает мало синонимов — худощав словарный запас.
      • 0
        Запоздало, но сообщу, что @Uagle действительно предложил несколько поправок в личку, за что ему большое спасибо и +.
    • +1
      А по мне, так получилась хорошая версия, с эдакой ноткой неряшливости и в тоже время любви к проекту.
  • +9
    Отлично, команду jQuery с релизом, надо обновляться, я считаю.
    Правда в комментах поговаривают, что плагин scrollTo перестал работать (а он достаточно популярный, к стати) и jquery UI control dialog (тоже, думаю, многие пользуются), так что — осторожней.
    • +4
      Я как раз сейчас верстаю сайт с использованием scrollTo — сразу пошел проверять.
      Действительно, что-то с ним непонятное произошло. Что-то частично работает, но нестабильно и с глюками.
      • 0
        Сейчас ковыряюсь — в моем случае работает в FF/IE/Opera, но не работает в Хроме.
        Похоже, что немного поломали функцию animate (в общем то, что сильно переписано и о чем больше всего сказано).
        Остальные части плагина фунциклируют вроде нормально и передают в анимацию ровно те же значения, что и с 1.7.2.
        Разобраться глубже, увы, тяму не хватает.
    • +4
      Ого!

      Спасибо за ценное предупрежение.
    • +3
      Обычно можно обойтись без громоздкого ScrollTo плагина двумя строчками, которые прекрасно работают и в 1.8.0:
      var idtop = $j('#id').offset().top;
      $j('html,body').animate({scrollTop: idtop}, 500);
  • +1
    Тогда что теперь делать с events?

    Например, есть куча кода, который отцепляет коллбэки от контролов, оборачивает их в разные обертки и приклеивает назад.
  • –2
    Спасибо, обновился.
  • +2
    > Более гибкий $(HTML, props)

    Только исправили одну ошибку с конфликтами имен — $.attr(), и тут же делают новую.

    То есть я, например, создаю элемент с аттрибутом autocomplete: $('', {autocomplete: 'foo'}). Спустя какое-то на страницу добавляется плагин autocomplete. Упс, мой код больше не работает. Получается теперь стало опасно использовать props. И зачем он тогда нужен.
  • 0
    Спасибо! (а то в соседней ветке habrahabr.ru/post/149395/ за просьбу подробностей словил удар в бубен).
    • 0
      и здесь тоже, нелинейная логика…
  • НЛО прилетело и опубликовало эту надпись здесь
    • +2
      Да, тем более что .load() может сбивать с толку:

      $('#element').load(function() { alert('Loaded') });
      $('#element').load('ajax/test.html');
      

  • +4
    jQuery пишется с маленькой буквы, поправьте в статье. Это режет глаза, также как и некоторые статьи про mySQL, MsSql, Php и т.п. вызывают ощущение, что автор не часто пользуется тем о чём пишет, иначе ему самому было бы не комфортно видеть такое написание.
  • 0
    Верните $(element).data(“events”)!!!
    Или подскажите — есть ли способ манипулировать обработчиками на определённом элементе?

    П.С. Была такая задача, например: гарантированно выполнить нужный обработчик первым, вне зависимости от уже установленных.
    • +1
      Сталкивался с такой проблемой, в частом случае решил навешиванием обработчика на элемент и его обертку. Работает за счет всплывания событий. То есть:

      <wrapper>     ← сюда вешаем обработчик, который должен сработать вторым
          <element> ← а сюда тот, который первым
      </wrapper>
      
  • +1
    Fancybox стал немного глючить. Тоже достаточно популярный плагин.
  • 0
    Спасибо за все сообщения и замечания; дополнил переводы всех багов и фич, чтобы этот список надолго (до версии 1.9) стал удобным руководством по сделанным изменениям в версии 1.8.
    • 0
      Адрес списка изменений (для внешних ссылок): habrahabr.ru/post/149403/#changelog
      Добавлено использование системы grunt из комментария leshaogonkov.
      • 0
        Ну можно перевод в принципе:

        Модули (новая возможность с версии 1.8)

        Начиная с версии jQuery 1.8, можно создавать сборки, которые могут собираться из следующих модулей:
        • ajax
        • css
        • dimensions
        • effects
        • offset

        Для создания своей сборки используйте следующие ключи grunt:
        Убрать ajax:
        grunt custom:-ajax
        


        Убрать css:
        grunt custom:-css
        


        Убрать deprecated:
        grunt custom:-deprecated
        


        Убрать dimensions:
        grunt custom:-dimensions
        


        Убрать effects:
        grunt custom:-effects
        


        Убрать offset:
        grunt custom:-offset
        


        Убрать все опциональные модули:
        grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-offset
        


        Примечание: все зависимости будут вычислены автоматически.

        P. S. надо на выходных поиграться, прямо интересно как с UI будут опциональные сборки дружить
  • 0
    Столкнулся с слишком ранним вызовом ready() до готовности window на IE9 и IE10, баг bugs.jquery.com/ticket/12282.
    Так что 1.8.0 настоятельно не рекомендуется к использованию до выхода 1.8.1

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.