Skip to content

Commit

Permalink
Expose jQuery.uuid (use with caution) and make sure the expando prope…
Browse files Browse the repository at this point in the history
…rty is used in the events module.
  • Loading branch information
jeresig committed Apr 24, 2010
1 parent 4a64f9a commit 1533bf7
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 7 deletions.
Empty file modified speed/benchmarker.css 100755 → 100644
Empty file.
Empty file modified speed/benchmarker.js 100755 → 100644
Empty file.
Empty file modified speed/index.html 100755 → 100644
Empty file.
12 changes: 8 additions & 4 deletions src/data.js
@@ -1,9 +1,13 @@
var expando = "jQuery" + jQuery.now(), uuid = 0, windowData = {};
var windowData = {};

jQuery.extend({
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
// attempt to add expando properties to them.
Expand Down Expand Up @@ -36,7 +40,7 @@ jQuery.extend({

// Compute a unique ID for the element
} else if ( !id ) {
elem[ jQuery.expando ] = id = ++uuid;
elem[ jQuery.expando ] = id = ++jQuery.uuid;
}

// Avoid generating a new cache unless none exists and we
Expand Down
6 changes: 3 additions & 3 deletions src/event.js
Expand Up @@ -270,7 +270,7 @@ jQuery.event = {
if ( !bubbling ) {
event = typeof event === "object" ?
// jQuery.Event object
event[expando] ? event :
event[ jQuery.expando ] ? event :
// Object literal
jQuery.extend( jQuery.Event(type), event ) :
// Just the event type (string)
Expand Down Expand Up @@ -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(" "),

fix: function( event ) {
if ( event[ expando ] ) {
if ( event[ jQuery.expando ] ) {
return event;
}

Expand Down Expand Up @@ -557,7 +557,7 @@ jQuery.Event = function( src ) {
this.timeStamp = jQuery.now();

// Mark it as fixed
this[ expando ] = true;
this[ jQuery.expando ] = true;
};

function returnFalse() {
Expand Down

1 comment on commit 1533bf7

@cwillu
Copy link

@cwillu cwillu commented on 1533bf7 Nov 19, 2010

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ugh.

If one already had a function (to make uuid's, for instance) on $.uuid, this commit completely and silently breaks jquery event binding. Could we get a release note and documentation, or even a _uuid name?

Please sign in to comment.