20 февраля 2009 вышел jQuery 1.3.2. Вы можете увидеть полный список изменений и исправлений в баг трэкере.
От переводчика: Этот выпуск не вполне совместим с прежними версиями, не ставьте на production без тестирования!
jQuery Minified, jQuery Regular.
Изменение коснулось движка селекторов jQuery, который теперь пересортировывает возвращаемый набор результатов в порядке их расположения в документе, вместо порядка их отбора. Это изменение выполнено для поддержки спецификации Selectors API (которую jQuery использует в тех браузерах, которые её поддерживают).
Теперь можно вызывать e.stopPropagation() или 'return false;' внутри обработчика события на лету live(), и тем самым предотвращать всплытие события. Это означает, что теперь Вы можете назначать «обработчики на лету» вложенно, и ранее выполняемые обработчики смогут предотвращать вызов внешних обработчиков.
К примеру:
Механизм отбора :visible, :hidden полностью изменился. Вместо проверки display, visibility, type проверяются атрибуты offsetWidth/offsetHeight. Теперь видимый элемент внутри невидимого — также считается невидимым! Скорость работы возросла.
![image](https://habrastorage.org/r/w780q1/getpro/habr/post_images/7e1/a29/3a9/7e1a293a95a39da04a6ec89d03b98913.jpg)
Скорость вычисления размеров (width, height, +outer, +inner) резко выросла.
![image](https://habrastorage.org/r/w780q1/getpro/habr/post_images/599/349/d36/599349d36b426178a1e1eda8c8b256fd.jpg)
Движок селекторов Sizzle оптимизирован под MSIE, что незначительно увеличило его производительность даже под MSIE6.
![image](https://habrastorage.org/r/w780q1/getpro/habr/post_images/211/ba7/d1d/211ba7d1dc3ad479c7338ebf1553d9b7.jpg)
Кстати, теперь также появилась документация по Sizzle, которая может быть интересна, если вы планируете расширить или интегрировать её функционал.
Небольшое исправление. Методы appendTo, prependTo, insertBefore, insertAfter, and replaceAll теперь возвращают не исходное множество, а вставленное.
Небольшой пример:
В jQuery 1.3.1 и ранее выдаст:
В jQuery 1.3.2 выдаст:
Также эти методы теперь влияют на поведение end(), так как возвращаемый результат помещается в стек jQuery.
jQuery теперь официально поддерживает IE8 RC1 и Chrome 2.
От переводчика: Этот выпуск не вполне совместим с прежними версиями, не ставьте на production без тестирования!
Загрузка
jQuery Minified, jQuery Regular.
Список изменений
Элементы возвращаются в порядке расположения в документе
Изменение коснулось движка селекторов jQuery, который теперь пересортировывает возвращаемый набор результатов в порядке их расположения в документе, вместо порядка их отбора. Это изменение выполнено для поддержки спецификации Selectors API (которую jQuery использует в тех браузерах, которые её поддерживают).
.live() теперь может предотвращать всплытие
Теперь можно вызывать e.stopPropagation() или 'return false;' внутри обработчика события на лету live(), и тем самым предотвращать всплытие события. Это означает, что теперь Вы можете назначать «обработчики на лету» вложенно, и ранее выполняемые обработчики смогут предотвращать вызов внешних обработчиков.
К примеру:
<ul>
<li><b>Google</b></li>
<li><b>Yahoo</b></li>
</ul>
<script>
$("li").live("click", function(){
$(this).addClass("active");
});
$("li b").live("click", function(){
$(this).addClass("active");
return false;
});
</script>
* This source code was highlighted with Source Code Highlighter.
:visible, :hidden ускорены
Механизм отбора :visible, :hidden полностью изменился. Вместо проверки display, visibility, type проверяются атрибуты offsetWidth/offsetHeight. Теперь видимый элемент внутри невидимого — также считается невидимым! Скорость работы возросла.
![image](https://habrastorage.org/getpro/habr/post_images/7e1/a29/3a9/7e1a293a95a39da04a6ec89d03b98913.jpg)
Скорость работы .height(), .width() резко возросла
Скорость вычисления размеров (width, height, +outer, +inner) резко выросла.
![image](https://habrastorage.org/getpro/habr/post_images/599/349/d36/599349d36b426178a1e1eda8c8b256fd.jpg)
Ускорение движка селекторов под IE
Движок селекторов Sizzle оптимизирован под MSIE, что незначительно увеличило его производительность даже под MSIE6.
![image](https://habrastorage.org/getpro/habr/post_images/211/ba7/d1d/211ba7d1dc3ad479c7338ebf1553d9b7.jpg)
Кстати, теперь также появилась документация по Sizzle, которая может быть интересна, если вы планируете расширить или интегрировать её функционал.
.appendTo() и др. теперь возвращают вставленные элементы
Небольшое исправление. Методы appendTo, prependTo, insertBefore, insertAfter, and replaceAll теперь возвращают не исходное множество, а вставленное.
Небольшой пример:
<div></div>
<div></div>
<script>
$("<p/>")
.appendTo("div")
.addClass("test");
</script>
* This source code was highlighted with Source Code Highlighter.
В jQuery 1.3.1 и ранее выдаст:
<div><p class="test"></p></div>
<div><p></p></div>
* This source code was highlighted with Source Code Highlighter.
В jQuery 1.3.2 выдаст:
<div><p class="test"></p></div>
<div><p class="test"></p></div>
* This source code was highlighted with Source Code Highlighter.
Также эти методы теперь влияют на поведение end(), так как возвращаемый результат помещается в стек jQuery.
Выжимка из остального
jQuery теперь официально поддерживает IE8 RC1 и Chrome 2.