mirror of
https://github.com/jquery/jquery.git
synced 2026-04-20 03:01:22 -04:00
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
This commit is contained in:
@@ -63,12 +63,14 @@ jQuery.extend({
|
||||
}
|
||||
|
||||
if ( !cache[ id ] ) {
|
||||
cache[ id ] = {};
|
||||
// Use a Function as the cache object instead of an Object on JS objects
|
||||
// as a hack to prevent JSON.stringify from serializing it (#8108)
|
||||
cache[ id ] = isNode ? {} : function () {};
|
||||
}
|
||||
|
||||
// An object can be passed to jQuery.data instead of a key/value pair; this gets
|
||||
// shallow copied over onto the existing cache
|
||||
if ( typeof name === "object" ) {
|
||||
if ( typeof name === "object" || typeof name === "function" ) {
|
||||
if ( pvt ) {
|
||||
cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user