John Resig [Thu, 27 Sep 2007 15:23:07 +0000 (15:23 +0000)]
Converted jQuery to use the new DOM Ready technique (by checking scroll). A single setTimeout loop is used for both IE and Safari now. Fixex bugs #1320 and #1561.
John Resig [Sat, 15 Sep 2007 02:40:42 +0000 (02:40 +0000)]
Convert relative animations to use -= and += (instead of just - and +, which conflicted with normal absolute animations). (Fixes bug #1607) Also fixed a bug in queue.
John Resig [Sat, 15 Sep 2007 02:24:44 +0000 (02:24 +0000)]
etooled the jQuery constructor, makes it work better for embedding (Bug #1585). Also took the opportunity to do some renaming in the constructor and init.
John Resig [Mon, 10 Sep 2007 18:39:16 +0000 (18:39 +0000)]
Made the expando code attach properties to an anonymous object, as opposed to the global window object, and fixed a bug where .removeAttribute() tried to fire even if it didn't exist.
John Resig [Sun, 9 Sep 2007 19:00:56 +0000 (19:00 +0000)]
So, apparently, I never committed the second half of the new field value code. This allows you to set values on groups of checkboxes, radio buttons, and selects.
John Resig [Sat, 8 Sep 2007 23:31:23 +0000 (23:31 +0000)]
Landing the new expando management code. Completely overhauls how data is associated with elements.
Plugins will be most interested in:
- jQuery.data(elem) -> Unique ID for the element
- jQuery.data(elem, name) -> Named data store for the element
- jQuery.data(elem, name, value) -> Saves a value to the named data store
- jQuery.removeData(elem) -> Remove the expando and the complete data store
- jQuery.removeData(elem, name) -> Removes just this one named data store
jQuery's .remove() and .empty() automatically clean up after themselves. Once an element leaves a DOM document their events are no longer intact. Thus, statements like so:
{{{
$("#foo").remove().appendTo("#bar");
}}}
should be written like so:
{{{
$("#foo").appendTo("#bar");
}}}
in order to avoid losing the bound events.
John Resig [Fri, 7 Sep 2007 21:57:40 +0000 (21:57 +0000)]
Massive FX rewrite. Full list of changes:
- You can now animate non-px values (em and %, for example)
- You can animate things things that previously broke (like font-size)
- You can now write fx plugins (to add in the ability to animate colors, for example)
- Advanced queueing controls were added (.queue(), .dequeue(), and {queue:false})
- Step was re-tooled to work with the new fx plugin scheme
- Added the ability to do relative animations
- Made it so that you can do simultaneous animations on a single element
- A complete refactoring of jQuery.fx, improving naming, and usability
John Resig [Fri, 7 Sep 2007 21:39:44 +0000 (21:39 +0000)]
Fix for bug #760 (fontSize returns different values in IE). This was part of a larger issue where IE returned non-pixel values from it's computed style - this normalizes it (thanks to a fix by Dean Edwards).
John Resig [Wed, 5 Sep 2007 17:06:05 +0000 (17:06 +0000)]
Integration of Mike Alsup's excellent form serialization code. The benefits are as follows:
- New method: .serializeArray()
This returns an array of name/value pairs representing the contents of a form, or individual input elements.
- Enhancement: .serialize()
The results are correct now (as opposed to the mess from before), and allows you to serializes forms directly (rather than just the input elements).
- Enhancement: .val()
This now returns the correct value when dealing wih selects. Additionally, when dealing with multiple selects, it returns an array of values.
Based upon Mike's code:
http://malsup.com/jquery/form/comp/form.js
and test suite:
http://malsup.com/jquery/form/comp/test.html
John Resig [Tue, 4 Sep 2007 04:17:14 +0000 (04:17 +0000)]
Made it so that you can't change the type of an input element, having it throw an exception instead (except for input elements that haven't yet been injected into the DOM). (Bug #1536)
John Resig [Tue, 4 Sep 2007 02:55:38 +0000 (02:55 +0000)]
Removed all deprecated functionality for jQuery 1.2. A full list of what was removed can be found here: http://jquery.com/blog/2007/08/24/jquery-114-faster-more-tests-ready-for-12/
John Resig [Fri, 31 Aug 2007 03:38:02 +0000 (03:38 +0000)]
Added support for .contents(). Returns ALL child nodes for an element - except for on an IFrame, then it returns the IFrame's document. This fixes #1024.
John Resig [Thu, 30 Aug 2007 16:34:34 +0000 (16:34 +0000)]
Made it so that you can pass in an event object to the trigger data args and it'll override the custom event object (this way you can pass in the event object of a mousemove to a drag event trigger, for example).
John Resig [Thu, 30 Aug 2007 05:51:11 +0000 (05:51 +0000)]
Added a new extra fn arg to trigger (so you don't have to simulate the trigger yourself). (Bug #1467) Added a new .triggerHandler() method that allows you to NOT trigger native calls AND returns the response from the handlers. (Bug #873 & #1417)
John Resig [Tue, 28 Aug 2007 04:34:23 +0000 (04:34 +0000)]
Made it so that the last return value is always returned from handle() (unless one of the return values was false, in which case the return value is false). (Bug #1416)
John Resig [Sat, 25 Aug 2007 05:12:20 +0000 (05:12 +0000)]
Added new replaceWith() (replace all matched elements with the specified HTML/DOM Elements/Array/etc.) and replaceAll() (replace the specified elements with the set of matched elements).
Caveats:
- No scripts are injected when a selector is used.
- The selector is rooted inside the head and body - it's equivalent to doing:
$("body,head").find(selector)
John Resig [Wed, 22 Aug 2007 05:44:47 +0000 (05:44 +0000)]
Made 'jQuery' unrollable via .noConflict(true) and instances of new Function() have been converted to eval(function(){}) in order to handle jQuery name changes. (Bug #1393)
John Resig [Tue, 21 Aug 2007 08:25:11 +0000 (08:25 +0000)]
Using some of the ideas presented by rformato, I've significantly sped up $("#id") selection. It's now just 10% slower than doing: $(document.getElementById("test")), which seems quite acceptable. (Bug #1316)
John Resig [Tue, 21 Aug 2007 05:43:44 +0000 (05:43 +0000)]
Fix for a selector speed regression (calling a simple selector many times resulted in a significant speed down). This has been fixed by breaking the RegExps out into the global scope. This required that a closure be implemented around the full jQuery script (which is now the case). Some simple changes were made in addition to the RegExp one, allowing for some greater flexibility on our part - and hopefully better compression.
Speed results:
http://dev.jquery.com/~john/ticket/1351/ vs.
http://dev.jquery.com/~john/ticket/1351/113.html vs.
http://dev.jquery.com/~john/ticket/1351/112.html