Rick Waldron
7f94a5cc3a
2.0: Rewrite data.js (Incl. event, manipulation, tests)
2013-02-03 15:27:55 -05:00
Timmy Willison
f5110cdec0
Minor updates. All parameters of an internal function are for internal use only.
2013-01-30 20:36:58 -05:00
Richard Gibson
8871218cdf
Fix jQuery #13251 : use slice instead of substring
...
(cherry picked from commit 37eb6125c0
)
2013-01-17 17:01:42 -05:00
danilsomsikov
cc324abf73
Fix #8335 : Avoid memory leak by never setting data on non-element non-document nodes. Close gh-1127.
2013-01-16 14:31:29 -05:00
Dave Methvin
445dbd9d95
Revert data.js rewrite.
...
Reverts the following commits:
commit f717226b3a
Author: Rick Waldron <waldron.rick@gmail.com>
Date: Mon Dec 31 18:06:38 2012 -0500
Only splice from internal arrays when item actually exists.
commit b9cdc4136b
Author: Rick Waldron <waldron.rick@gmail.com>
Date: Mon Dec 31 16:20:35 2012 -0500
Updates to data.js re-write to pass events and manipulation
commit d1de3000c6
Author: Rick Waldron <waldron.rick@gmail.com>
Date: Mon Dec 31 15:09:45 2012 -0500
2.0: Rewrite data.js
2013-01-03 20:43:01 -05:00
Rick Waldron
f717226b3a
Only splice from internal arrays when item actually exists.
...
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2012-12-31 18:06:38 -05:00
Rick Waldron
b9cdc4136b
Updates to data.js re-write to pass events and manipulation (full pass in local test runs)
...
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2012-12-31 16:23:20 -05:00
Rick Waldron
d1de3000c6
2.0: Rewrite data.js
...
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2012-12-31 16:23:20 -05:00
Richard Gibson
0877d424e0
Fix #12959 : Optimize library-wide patterns
2012-11-27 01:59:22 +01:00
Richard Gibson
0ee9415902
Restore jQuery.access parameter mistakenly removed in 80d45a69
2012-11-06 09:53:00 -05:00
Dave Methvin
e8cf41a051
Fix #10544 . Remove deprecated .data() event namespaced triggering.
...
Data events were horribly slow, never documented, and caused strange interpretation of data items with dots in them.
2012-10-31 21:27:42 -04:00
Rick Waldron
812c6087ad
Brute force property removal when removeData([a,b,c]). Fixes #12786
...
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2012-10-24 14:12:28 -04:00
Dave Methvin
08341437e0
Remove deprecated $.uuid and dunseled $.deletedIds.
2012-10-20 22:18:29 -04:00
Rick Waldron
8076a33bd8
Don't expose jQuery.deletedIds. Close gh-889.
2012-10-20 21:02:21 -04:00
carldanley
08e134548f
Create private methods for processing data/removeData requests. Fixes #12519 , Closes gh-976
2012-10-16 11:15:41 -04:00
Richard Gibson
15b5dbfe23
Fix #12229 , size/consistency improvements. Close gh-887.
2012-09-18 18:04:31 -04:00
Dave Methvin
2263134b22
Fix #10863 . Allow newlines in JSON data- attributes.
2012-08-23 22:19:06 -04:00
Dave Methvin
ce15bd7d0c
Fix #7579 . Don't convert to number if it changes the string. Close gh-852.
...
Net effect here is that hex numbers and most exponential-format numbers or long sequences of digits will remain strings rather than being coerced to numbers. `The people have spoken.
2012-07-25 10:28:50 -04:00
Mike Sherov
8f01b92b8f
Follow the style guide, lose 72 bytes! Closes gh-840.
2012-07-09 21:39:22 -04:00
Richard Gibson
f8baea8f7a
DRY out removeData/cleanData, closes gh-838.
2012-07-06 09:22:44 -04:00
Dave Methvin
9e0c056171
Fix #10589 . Remove deprecated $.fn.data("events") special case.
...
No unit tests were harmed in the removal of this hack.
2012-06-11 17:16:19 -04:00
Rick Waldron
7c23b77af2
Strips IIFEs from modules; Always require built jQuery for tests.
2012-06-04 12:48:18 -04:00
Oleg
203a168980
Fix #8545 . Plug event handling memory leak in oldIE.
2012-04-04 21:38:46 -04:00
Sindre Sorhus
96bb57d4ef
Fix #11309 . Recognize hexadecimal in data attributes.
2012-02-09 20:27:27 -05:00
Dave Methvin
2c75a993be
Precompute the parts array; clean up a JSLint complaint.
...
Followup to 6c2a501de4
for bug #5571 .
2011-12-06 20:07:29 -05:00
Richard Gibson
6c2a501de4
Fix #5571 . Setters should treat undefined
as a no-op and be chainable.
2011-12-06 15:25:38 -05:00
Justin
abcdaf9043
It seems the convention is to use self
for caching jQuery ( this )
instead of using $this
.
2011-11-06 22:54:21 +00:00
Corey Frang
471290deb6
Removing a stale line of code in .data()
2011-11-06 17:24:44 -05:00
Rick Waldron
e086c22826
User internalKey instead of jQuery.expando. Fixes #10675
2011-11-06 16:05:45 -05:00
Dave Methvin
c82dbf1928
Make sure .data("events")
still works, for now.
2011-10-26 22:56:26 -04:00
Dave Methvin
24e416dca3
Fix #10588 . For now, event voyeurism only merits the look of disapproval.
...
If you are using `.data("events")` we would like to know how we can provide a documented interface that satisfies the need.
2011-10-26 17:04:15 -04:00
Dave Methvin
83c08ffa1f
Fix #10478 . Replace jQuery.isNaN with jQuery.isNumeric.
...
Thanks to Christian C. Salvadó for the unit tests!
2011-10-11 21:04:22 -04:00
Corey Frang
9b3768b968
Landing pull request 512. 1.7 - removeData now takes space separated lists and arrays of keys - Fixes #7323 .
...
More Details:
- https://github.com/jquery/jquery/pull/512
- http://bugs.jquery.com/ticket/7323
2011-09-19 21:16:20 -04:00
Corey Frang
2831cfd072
Landing pull request 503. 1.7 data: set a flag in the private data cache to avoid having to scan attributes multiple times - Fixes #8909 .
...
More Details:
- https://github.com/jquery/jquery/pull/503
- http://bugs.jquery.com/ticket/8909
2011-09-19 16:13:57 -04:00
Corey Frang
d5f144a7bb
Landing pull request 500. 1.7 - "public data" stored as a key on "internal data" - Fixes #8921 .
...
More Details:
- https://github.com/jquery/jquery/pull/500
- http://bugs.jquery.com/ticket/8921
2011-09-19 16:13:14 -04:00
rwldrn
8e8fa6dc1a
Bug in rmultidash. Fixes #10194
2011-09-07 10:13:22 -04:00
rwldrn
93beee8ac0
Test for window inference. Fixes #10080
2011-08-18 10:17:12 -04:00
Rick Waldron
f44d5e1e81
Ensure cache[id] exists before attempting to delete it. Fixes #10080
2011-08-17 17:49:09 -04:00
Rick Waldron
130a29e786
Landing pull request 459. Do not allow assumed cache[id] in jQuery.data. Fixes #8235 .
...
More Details:
- https://github.com/jquery/jquery/pull/459
- http://bugs.jquery.com/ticket/8235
2011-08-17 17:18:58 -04:00
Rick Waldron
2ce5e95951
Supports interoperable removal of hyphenated/camelCase properties. Fixes #9413
2011-08-05 09:43:58 -04:00
Rick Waldron
8fed1e7b5e
Do plain property check first, fallback to camelCase only if nec. Fixes #9794
2011-07-25 14:17:59 -04:00
Rick Waldron
84d066ff7c
Correct non-null|undefined evaluation of data property values. Fixes #9794
2011-07-10 21:45:50 -04:00
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
c864455ccf
Global found in dataAttr function
2011-05-06 14:54:47 -04: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
2cc03a86fc
Update jQuery.data to use jQuery.noop for toJSON hack instead of an additional superfluous function.
2011-02-14 16:30:18 -06: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
57cc182a40
Introduce a temporary hack to allow jQuery.fn.data("events") to continue to work. This will be going away in 1.6. More information will be available in the 1.5 release notes.
2011-01-17 15:22:49 -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
01cba2ecaa
Merge SlexAxton/jquery:master into jquery/jquery:master.
2010-12-26 22:12:56 -06:00
Alex Sexton
faabb2c318
Changed the expando string to use a random number instead of the time, so collisions become less likely. Also added jQuery version to instantly differentiate separate versions of jQuery (a common use case for noConflict, etc, when two jQuery instances are on the page). Fixes #6842 .
2010-12-26 22:07:46 -06:00
Colin Snover
a2bf7ab3c0
Code style fix
2010-12-22 18:17:58 -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
faefbb1ad0
Fix #7717 and #7165 . Thanks to dmethvin and iliakan for their help fixing these issues.
2010-12-19 15:33:53 -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
fb48ae8e6c
Make sure that when multiple variables are being declared that assignments are each done on their own line.
2010-11-09 11:09:07 -05:00
jeresig
0174518a49
Only need to declare the data once.
2010-10-21 23:18:47 -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
rwldrn
a2aefbf3b1
Fixes acceptData defining in the global scope.
2010-10-05 10:32:57 -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
0be7f4eb4f
Make sure that opacity is being reset properly on a show animation. Additionally expose jQuery.isNaN from the data module.
2010-09-27 11:51:01 -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
9dc6e0c572
Applied the RegExp issues reported by Jeff Robinson here: http://jmrware.com/articles/2010/jqueryregex/jQueryRegexes.html Additionally broke out all remaining inline RegExp. Fixes #7062 .
2010-09-22 09:16:28 -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
3a0a352883
Escape RegExp braces to sooth JSLint's temper.
2010-09-21 08:53:34 -04:00
jeresig
8ebb9b22df
Switch to using isNaN instead of RegExp for data-.
2010-09-21 08:31:55 -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
ae9df1412c
Make sure that undefined is returned for not found data- attributes, not null.
2010-09-21 00:44:47 -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
jeresig
bca5765502
Make sure that jQuery works even when the individual modules are loaded separately AND jQuery.noConflict(true) is used. Fixes #7011 .
2010-09-08 13:54:33 -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
Dave Reed
2084e01780
Fix for issues discussed in 9faab0b74f
. Goes towards fixing #6808 .
2010-07-23 11:25:31 -04:00
InfinitiesLoop
266facc08a
Ticket 6808. Updated per code review comments by jeresig
2010-07-23 03:52:02 +08: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
John Resig
1533bf7c77
Expose jQuery.uuid (use with caution) and make sure the expando property is used in the events module.
2010-04-24 14:16:27 -07:00
jeresig
8effe3a7de
Made it so that you no longer need to build jQuery in order to run the test suite (but you'll still need a checkout of QUnit and Sizzle, at least).
2010-03-23 12:12:16 -04: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
a6f3757d50
Found a better detect for deleting an expando, added back in removeAttribute as it does work in IE.
2010-02-13 06:57:58 -05:00
jeresig
9195107dbb
Clean up expando removal code - only try to delete the expando from an element if it's possible.
2010-02-13 06:32:20 -05:00
jeresig
98c7248518
Further optimize the empty/remove/cleanData logic.
2010-01-28 15:25:52 -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
jeresig
61e37d4149
Made a number of spacing changes to bring the code more-inline with the jQuery Core Style Guideline.
2009-12-21 19:58:13 -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
ed93204e10
This is why you don't do commits when you're tired. Fixing bugs from 5980292856
.
2009-12-07 07:48:15 -08:00
John Resig
5980292856
Make sure that expando properties aren't set on embed, applet, or object elements. An uncatchable exception is thrown and we must avoid it. Fixes #1675 and #2349 .
2009-12-06 20:00:31 -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