Commit graph

50 commits

Author SHA1 Message Date
rwldrn 0742056645 Landing pull request 403. Check for both camelized and hyphenated data property names; Fixes #9301.
More Details:
 - https://github.com/jquery/jquery/pull/403
 - http://bugs.jquery.com/ticket/9301
2011-06-06 20:18:36 -04:00
John Resig a5e407cafb Make sure that data properties with hyphens are always accessed/set using camelCase. Fixes #9124. 2011-05-10 11:56:42 -04:00
timmywil ecf6a3c383 Switch QUnit div from depreceted #main to #qunit-fixture 2011-04-17 02:43:57 -04:00
louisremi 11adde5127 second batch 2011-04-11 22:33:29 +02:00
Alexis Abril 8c318bf414 Fixes #7328. When getting data- attributes, after-cap any embedded dashes per the W3C HTML5 spec. 2011-04-10 15:17:00 -04:00
Dave Methvin b9f5e2b974 Only perpetrate the .toJSON hack on data caches when they are attached to a plain Javascript object. Part of the continuing saga of #8108. 2011-02-17 17:09:56 +01:00
Colin Snover 2ed81708bd Hide metadata when serializing JS objects using JSON.stringify via a toJSON hack. Fixes #8108. 2011-02-14 16:22:23 -06:00
Colin Snover d92dc2902c Revert portions of 7acb141ed7 that attempt to use a function to hide jQuery metadata from JSON.stringify since this does not work reliably cross-browser (fails in Fx3.5, O11, Saf4). 2011-02-08 12:13:27 -06:00
Colin Snover 7acb141ed7 Update $.data to use a function instead of an object when attaching to JS objects in order to hide attached metadata from JSON.stringify. Remove event.js code that was doing this before specifically for events, which is now redundant. Fixes #8108. 1.5-stable 2011-02-07 10:48:38 -06:00
Colin Snover e2941d5a98 Update unit tests with a leak detection mechanism for the various jQuery globals and fix all leaks in the tests. 2011-01-09 15:58:47 -06:00
Colin Snover 8e59a99e0a Change the way jQuery.data works so that there is no longer a chance of collision between user data and internal data. Fixes #6968. 2011-01-09 15:52:33 -06:00
Colin Snover e199ead4cb More unit tests and a $.hasData that works for JS objects too. 2010-12-22 15:03:01 -06:00
Colin Snover f5d4bf8920 Update jQuery.hasData to always return a boolean, with unit tests. 2010-12-22 14:54:37 -06:00
Colin Snover 11e52bdaea Only try to get data attributes for a jQuery-wrapped object if it is actually an Element node. Fixes #7524. 2010-12-03 01:19:39 -06:00
John Resig 008e971943 Add some more tests to make sure that pulling in data- properties on an element with no data set, works. 2010-10-17 14:48:24 -04:00
John Resig 8a5df39045 Make sure that .data() (no args) returns a list of all the data- properties as well. Also make sure that accessing a data- property via .data() doesn't cause it to change again at a later time (it should be static). Fixes #7222, #7223. 2010-10-17 11:42:53 -04:00
John Resig e1b940d748 We removed deleteExpando after 1.4.2, for some reason. This caused problems with removeData() (no arguments). Fixes #7209. 2010-10-17 10:56:01 -04:00
John Resig 1dee0d2ed8 Added some more tests relating to attaching data to a window. 2010-10-11 17:52:00 -04:00
Dave Reed cb811c04b0 Using data() on JavaScript objects sets fields directly on the object. Note that events are now a property of a function (to avoid JSON serialization - and only in the case of JavaScript objects, not DOM nodes). Fixes #6807. 2010-09-29 06:46:25 -07:00
jeresig 515efbdc71 Make sure that undefined is always returned for missing data properties. Follow-up to #6304. 2010-09-24 16:30:57 -04:00
jeresig 76db8a9822 Allow data to be bound to Flash objects (but still stopping short of attaching to applets. Fixes #6121. 2010-09-24 16:24:07 -04:00
jeresig 0b4b3ee8a5 Make .data(Object) extend the existing data object. Fixes #6692. 2010-09-22 11:52:32 -04:00
Jacob Wright 626624a19a Fix bug when accessing .data() on an empty set. Return null rather than throwing exception. 2010-09-22 11:38:37 -04:00
jeresig 9ad7c21e70 Make sure the data- number has at least one number in it before passing to isNaN. Thanks to @cms in 8ebb9b22df for a heads-up. 2010-09-22 07:34:31 -04:00
jeresig e0b24306a8 Handle some additional data- number edge cases. 2010-09-21 08:30:12 -04:00
jeresig 1f8a5e4bbc Make sure that the data- import also supports arrays. 2010-09-21 08:20:31 -04:00
John Resig e7c2d3b45b Added in support for basic JSON object parsing of data- attributes. 2010-09-21 00:51:45 -04:00
John Resig d5d4e4df65 Tweaked the data number RegExp some to handle some other edge cases. 2010-09-21 00:38:26 -04:00
jeresig 4a46f3d7fb Fixing the problem with data-* based numbers as mention by @jasonwebster in 20673d7. 2010-09-20 20:08:57 -04:00
John Resig 20673d7e58 Pull data-* attributes into .data(). Original code by Andrée Hasson and Paul Irish. Fixes #6921. 2010-09-20 17:47:41 -04:00
John Resig c4b4df4691 Make sure that .data() events don't bubble, per the discussion in 2e10af143b. Fixes #6832. 2010-07-27 13:45:32 -04:00
InfinitiesLoop 9faab0b74f Ticket #6808. Changes data() so on plain objects, it uses a function to contain the cache ID to avoid it being JSON serialized. 2010-07-23 03:52:01 +08:00
InfinitiesLoop 2e10af143b Ticket #6804. Adds a changeData event. 2010-07-20 10:12:40 +08:00
jeresig a49e6b6313 Attach data directly to plain objects, no reason to use the central jQuery.cache. Fixes #6189. 2010-02-27 09:49:58 -05:00
jeresig 9e06903a99 Make sure that undefined is always returned for undefined data properties. Fixes #6166. 2010-02-26 12:35:04 -05:00
jeresig eed69eccc5 Make sure that jQuery.data( elem ) always returns a data object, fixes #5971. Improve the performance of .bind() and .unbind(), fixes #5972. 2010-01-28 14:12:44 -05:00
John Resig f6a0bf6816 Added support for .data(Object), overwriting the existing data object. Fixes #4284. 2009-12-09 13:16:18 -08:00
John Resig ebad701751 Split the queue code out from data.js into a dedicated queue.js file (also split tests accordingly). 2009-12-06 17:19:33 -05:00
jeresig bbd933cbfe Added in the .delay() method for delaying the execution of queued functions and animations. 2009-12-04 12:06:47 -05:00
Mark Gibson ef819c91b9 Fixing endlines. 2009-11-25 12:09:53 -05:00
John Resig 4bda398e6a Switched from using QUnit's isObj/isSet to the more robust same method. 2009-09-29 19:49:43 +00:00
John Resig 67d445a703 A follow-up to [6578] (which stopped adding expandos to elements that didn't have data). That broke jQuery.unique() (so we're now using the unique from Sizzle). Using Sizzle's unique (which also sorts in document order) changed how add, andSelf, parents, nextAll, prevAll, and siblings work. after and before were changed to not use .add() (in order to guarantee their position in the jQuery set). Also, jQuery.data(elem) was updated to return that element's data object (instead of its ID).
$("<div/>").after("<span/>")
=> [ div, span ]
(calling after on a disconnected DOM node adds the nodes to the end of the jQuery set)

$("<div/>").before("<span/>")
=> [ span, div ]
(calling before on a disconnected DOM node adds the nodes to the beginning of the jQuery set)

$("div").add("span")
=> [ div, span, span, div, span ]
(results now come out in document order)

$("div").find("code").andSelf();
=> [ div, code, code ]
(results now come out in document order)

Same goes for .parents(), .nextAll(), .prevAll(), and .siblings().

Exception: .parents() will still return the results in reverse document order.

jQuery.data(elem)
=> { object of data }
(no longer returns the unique ID assigned to the node)
2009-09-25 17:55:20 +00:00
Brandon Aaron 97e134fe80 data should not add expando unless actually adding data 2009-09-15 21:14:08 +00:00
Ariel Flesler a273120291 jquery data: closes #5224. Exposing the expando. 2009-09-14 22:34:04 +00:00
Yehuda Katz 991d039b62 Refactor queueing system to allow auto-dequeuing to use dequeue directly and
therefore require dequeue to always leave the element it has dequeued on
the queue.

  - In the fx queue, a progress sentinel is added when a queue element
    is dequeued.
  - The sentinel is ignored when dequeue is called explicitly
  - When adding a new element to the fx queue, queue() checks if
    the progress sentinel is present. If not, it calls dequeue()
2009-07-16 07:32:39 +00:00
Yehuda Katz d36d224cc5 Implemented .data() to get the entire data object. Closes #4284 2009-07-16 07:32:25 +00:00
Yehuda Katz 89dc1e0143 clearQueue and next should now work with default fx on all browsers 2009-07-13 22:21:40 +00:00
Yehuda Katz d857315967 Add clearQueue for clearing non-fx queues 2009-07-12 15:14:01 +00:00
Yehuda Katz 89b4bc53ca Added a next() shortcut for queues 2009-07-12 14:31:32 +00:00
Ariel Flesler 4afa608351 jquery data: Closes #3539. Exposed jQuery.queue. Moved all the data and queue functions to their own module. Made the dequeue function more generic(designed to be used on functions). Closes #3748. Reverted a previous modification. 2008-12-30 02:31:26 +00:00