+(function( jQuery ) {
+
var windowData = {};
jQuery.extend({
elem;
var id = elem[ jQuery.expando ], cache = jQuery.cache, thisCache,
- isNode = elem.nodeType;
+ isNode = elem.nodeType,
+ store;
if ( !id && typeof name === "string" && data === undefined ) {
return;
if ( isNode ) {
cache[ id ] = jQuery.extend(true, {}, name);
} else {
+ store = jQuery.extend(true, {}, name);
cache[ id ] = function() {
- return jQuery.extend(true, {}, name);
- }
+ return store;
+ };
}
} else if ( !cache[ id ] ) {
if ( isNode ) {
cache[ id ] = {};
} else {
- var store = {};
+ store = {};
cache[ id ] = function() {
return store;
- }
+ };
}
}
- thisCache = cache[ id ];
- if ( !isNode ) {
- thisCache = thisCache();
- }
+ thisCache = isNode ? cache[ id ] : cache[ id ]();
// Prevent overriding the named cache with undefined values
if ( data !== undefined ) {
if ( data === undefined && this.length ) {
data = jQuery.data( this[0], key );
}
+
return data === undefined && parts[1] ?
this.data( parts[0] ) :
data;
+
} else {
- return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function() {
+ return this.each(function() {
+ var $this = jQuery( this ), args = [ parts[0], value ];
+
+ $this.triggerHandler( "setData" + parts[1] + "!", args );
jQuery.data( this, key, value );
- jQuery.event.trigger( "changeData" + parts[1] + "!", [parts[0], value], this );
+ $this.triggerHandler( "changeData" + parts[1] + "!", args );
});
}
},
});
}
});
+
+})( jQuery );