Expose jQuery.uuid (use with caution) and make sure the expando property is used in the events module.

This commit is contained in:
John Resig 2010-04-24 14:15:45 -07:00
parent 4a64f9a5b8
commit 1533bf7c77
5 changed files with 11 additions and 7 deletions

0
speed/benchmarker.css Executable file → Normal file
View file

0
speed/benchmarker.js Executable file → Normal file
View file

0
speed/index.html Executable file → Normal file
View file

View file

@ -1,9 +1,13 @@
var expando = "jQuery" + jQuery.now(), uuid = 0, windowData = {}; var windowData = {};
jQuery.extend({ jQuery.extend({
cache: {}, cache: {},
expando: expando, // Please use with caution
uuid: 0,
// Unique for each copy of jQuery on the page
expando: "jQuery" + jQuery.now(),
// The following elements throw uncatchable exceptions if you // The following elements throw uncatchable exceptions if you
// attempt to add expando properties to them. // attempt to add expando properties to them.
@ -36,7 +40,7 @@ jQuery.extend({
// Compute a unique ID for the element // Compute a unique ID for the element
} else if ( !id ) { } else if ( !id ) {
elem[ jQuery.expando ] = id = ++uuid; elem[ jQuery.expando ] = id = ++jQuery.uuid;
} }
// Avoid generating a new cache unless none exists and we // Avoid generating a new cache unless none exists and we

View file

@ -270,7 +270,7 @@ jQuery.event = {
if ( !bubbling ) { if ( !bubbling ) {
event = typeof event === "object" ? event = typeof event === "object" ?
// jQuery.Event object // jQuery.Event object
event[expando] ? event : event[ jQuery.expando ] ? event :
// Object literal // Object literal
jQuery.extend( jQuery.Event(type), event ) : jQuery.extend( jQuery.Event(type), event ) :
// Just the event type (string) // Just the event type (string)
@ -428,7 +428,7 @@ jQuery.event = {
props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix: function( event ) { fix: function( event ) {
if ( event[ expando ] ) { if ( event[ jQuery.expando ] ) {
return event; return event;
} }
@ -557,7 +557,7 @@ jQuery.Event = function( src ) {
this.timeStamp = jQuery.now(); this.timeStamp = jQuery.now();
// Mark it as fixed // Mark it as fixed
this[ expando ] = true; this[ jQuery.expando ] = true;
}; };
function returnFalse() { function returnFalse() {