if ( data !== undefined )\r
jQuery.cache[ id ][ name ] = data;\r
\r
+ if(name === true) return jQuery.cache[ id ]\r
+\r
// Return the named cache data, or the ID for the element\r
return name ?\r
jQuery.cache[ id ][ name ] :\r
fn = queue[0];\r
\r
if( fn !== undefined )\r
- fn.call(elem);\r
+ fn.call(elem, function() { jQuery(elem).dequeue(type); });\r
}\r
});\r
\r
jQuery.fn.extend({\r
data: function( key, value ){\r
+ if(typeof key === "undefined" && this.length) return jQuery.data(this[0], true);\r
+\r
var parts = key.split(".");\r
parts[1] = parts[1] ? "." + parts[1] : "";\r
\r
if ( data === undefined )\r
return jQuery.queue( this[0], type );\r
\r
- return this.each(function(){\r
+ return this.each(function(i, elem){\r
var queue = jQuery.queue( this, type, data );\r
\r
- if( type == "fx" && queue.length == 1 )\r
- queue[0].call(this);\r
+ if( type == "fx" && queue.length == 1 )\r
+ queue[0].call(this, function() { jQuery(elem).dequeue(type); });\r
});\r
},\r
dequeue: function(type){\r
return this.each(function(){\r
jQuery.dequeue( this, type );\r
});\r
+ },\r
+ clearQueue: function(type){\r
+ return this.queue( type || "fx", [] );\r
}\r
});
\ No newline at end of file