Skip to content
Permalink
Browse files

User internalKey instead of jQuery.expando. Fixes #10675

  • Loading branch information...
rwaldron authored and dmethvin committed Nov 4, 2011
1 parent 262c32a commit e086c22826e681bb8afcff93c16c8ad41389a096
Showing with 7 additions and 7 deletions.
  1. +7 −7 src/data.js
@@ -46,7 +46,7 @@ jQuery.extend({

// Only defining an ID for JS objects if its cache already exists allows
// the code to shortcut on the same path as a DOM node with no cache
id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando,
id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey,
isEvents = name === "events";

// Avoid doing any more work than we need to when trying to get data on an
@@ -59,9 +59,9 @@ jQuery.extend({
// Only DOM nodes need a new unique ID for each element since their data
// ends up in the global cache
if ( isNode ) {
elem[ jQuery.expando ] = id = ++jQuery.uuid;
elem[ internalKey ] = id = ++jQuery.uuid;
} else {
id = jQuery.expando;
id = internalKey;
}
}

@@ -144,7 +144,7 @@ jQuery.extend({
cache = isNode ? jQuery.cache : elem,

// See jQuery.data for more information
id = isNode ? elem[ jQuery.expando ] : jQuery.expando;
id = isNode ? elem[ internalKey ] : internalKey;

// If there is already no cache entry for this object, there is no
// purpose in continuing
@@ -214,11 +214,11 @@ jQuery.extend({
// nor does it have a removeAttribute function on Document nodes;
// we must handle all of these cases
if ( jQuery.support.deleteExpando ) {
delete elem[ jQuery.expando ];
delete elem[ internalKey ];
} else if ( elem.removeAttribute ) {
elem.removeAttribute( jQuery.expando );
elem.removeAttribute( internalKey );
} else {
elem[ jQuery.expando ] = null;
elem[ internalKey ] = null;
}
}
},

0 comments on commit e086c22

Please sign in to comment.
You can’t perform that action at this time.