Релиз jQuery 1.9.0
15 Января вышел релиз новой версии jQuery 1.9.0, а также выходе бета версии 2.0.0, которая не поддерживает браузеры IE6, 7 и 8. Прежде чем обновлять свою версию на сайте рекомендуется прочитать инструкции по апгрейду скриптов, так например live() больше не будет работать, и рекомендуется заменить его на on(). Впрочем там где нужно использовать старый функционал вышел скрипт jQuery Migrate.
- Полная версия: http://code.jquery.com/jquery-1.9.0.js
- Сжатая версия: http://code.jquery.com/jquery-1.9.0.min.js
- JQuery Migrate: http://code.jquery.com/jquery-migrate-1.0.0.js
- Сжатая версия с Google CDN: http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js
- Полная версия с Google CDN: http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.js
Инструкции по апгрейду скриптов для поддержки новой версии jQuery 1.9.0 и выше
CHANGELOG
Ajax
Attributes
#9905: .removeAttr( "id” ) sometimes crashes IE 7
- #10299: hrefNormalized === false also needs a propHook
- #12048: [IE6/7/8] xml set attribute
- #12584: jQuery wrongly serializes <select> with one disabled <option>
- #12600: jQuery(‘select’).is(‘[value="value"]‘) works inconsistently depending on number of elements returned
- #12945: attr throws exception in IE9 on Flash <object>s
- #13011: Setting type attribute on an input doesn’t work as intended
Build
- #12254: Reflected XSS
- #12490: Move submodule update process to grunt
- #12725: Avoid localized UTF-8 characters in intro.js @DATE
- #12741: inconsistent line endings in official jquery-1.8.2.js download
- #12886: Add source map support for build
- #13044: Execute all QUnit modules in TestSwarm
- #13064: Improve test suite fixture cleanup
Core
- #9469: Remove semi-functional .selector calculation from .pushStack()
- #9904: Move deprecated functionality to compatibility plugin
- #10417: Remove second arg from setTimeout calls (WAS jQuery.later)
- #11290: selector interpreted as HTML
- #11737: Remove jQuery.sub
- #12107: Change proxy to allow arguments currying without overwriting context
- #12134: implement HTML5 compilant form data construction into $.fn.serialzeArray
- #12191: jQuery.type() should return "error” for native ECMAScript Error objects
- #12519: Public API methods should not have private arguments
- #12840: Remove (private) parameter "pass” from jQuery.attr and jQuery.access
- #13021: each() cannot work well with a literal object who has a length member
- #13075: Performance optimization for $.type
- #13076: Performance optimization (10-30%) for $("some-selector”)
Css
- #11938: jQuery.css should accept an array to get multiple properties
- #12990: ‘px’ automatically added to column-count css property
- #13088: under IE8, $(selector).attr(‘style’) always return lowercase string
Data
Deferred
- #11405: deferred.notify() invokes progressCallbacks with deferred as context
- #13160: Deferred.then doesn’t propagete custom context
Effects
Event
- #3827: Checkbox state inconsistent in click event handler
- #12061: $(window).beforeunload() clobbers previous handler and return values
- #12518: Don’t use offsetWidth in jQuery.event.trigger()
- #12610: jQuery.event.dispatch should remove window.event
- #12736: Move pseudo:hover to jquery-compat / deprecated.js
- #12739: Name: Passing in an Event to trigger strips namespace
- #12827: Remove "exclusive” events
- #12828: Remove event properties: attrChange attrName relatedNode srcElement
- #13180: Live binding click event on image within SVG not firing.
- #13203: Delegated selectors matching Object.prototype properties match everything
Manipulation
- #4087: insertAfter, insertBefore, etc do not work when destination is original element
- #9646: IE7: Cloning of form-elements and changing their names also changes the name of the elements that are cloned.
- #10470: wrap() evaluates scripts
- #11226: .after and .before returns incorrect data for $(‘not_existing_element’)
- #11230: .appendTo .prependTo .insertAfter .insertBefore returns incorrect data for $(‘not_existing_element’)
- #11280: appending elements to an object element fails in IE < 9
- #11795: Resolve script manipulation/execution inconsistencies
- #11989: Investigate fragment cache performance in terms of large html fragments
- #12120: Inconsistency of .end() with respect to .after()
- #12336: Calling $(‘#select’).empty() should set options length to 0
- #12392: Elements created from HTML strings have a parentNode
- #12449: replaceWith() doesn’t clone elements where required
- #12503: before/after will choke if collection has not first disconnected node
- #12777: Applets don’t work when appended on IE
- #12863: behavior:url(#default#savehistory) causes event error on oldIE
- #12957: Improve wrapMap
- #13019: New pre-1.9 .replaceWith() behavior leaks data and events
- #13094: If to jQuery#before passed function argument it should receive index of the current element in the set
- #13200: XHTML .html() on <table> & subelements
Misc
Offset
Selector
#11115: ".is()” and ".filter()” disagree on attribute selector "[checked]"
- #12856: Syntax error, unrecognized expression in jquery 1.8+
- #13070: filter()/is() does not work correctly with attribute equals selector which contains special characters
Support
- #12569: Improve feature detect for oldIE event bubbling
- #12869: Support tests affect page layout in IE8/9/10 running in IE7 mode