Skip to content
Permalink
Browse files
Moved jQuery.proxy() into core.
  • Loading branch information
jeresig committed Dec 31, 2009
1 parent 66975de commit a5dbca4
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 20 deletions.
@@ -614,6 +614,26 @@ jQuery.extend({
return ret.concat.apply( [], ret );
},

// A global GUID counter for objects
guid: 1,

This comment has been minimized.

Copy link
@ysmood

ysmood Mar 31, 2014

This property is just in-page unique. Why call it a GUID (global unique id)? Why not name it uid?


proxy: function( fn, proxy, thisObject ) {
if ( arguments.length === 2 && proxy && !jQuery.isFunction( proxy ) ) {
thisObject = proxy;
proxy = undefined;
}

proxy = proxy || function() {
return fn.apply( thisObject || this, arguments );
};

// Set the guid of unique handler to the same of original handler, so it can be removed
proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;

// So proxy can be declared as an argument
return proxy;
},

// Use of jQuery.browser is frowned upon.
// More details: http://docs.jquery.com/Utilities/jQuery.browser
browser: {
@@ -26,7 +26,7 @@ jQuery.event = {

// Make sure that the function being executed has a unique ID
if ( !handler.guid ) {
handler.guid = this.guid++;
handler.guid = jQuery.guid++;
}

// if data is passed, bind to handler
@@ -114,7 +114,6 @@ jQuery.event = {
elem = null;
},

guid: 1,
global: {},

// Detach an event or set of events from an element
@@ -405,6 +404,8 @@ jQuery.event = {
return event;
},

proxy: jQuery.proxy,

special: {
ready: {
// Make sure the ready event is setup
@@ -456,24 +457,6 @@ jQuery.event = {
}
};

jQuery.event.proxy = jQuery.proxy = function( fn, proxy, thisObject ) {
if ( proxy !== undefined && !jQuery.isFunction( proxy ) ) {
thisObject = proxy;
proxy = undefined;
}

// FIXME: Should proxy be redefined to be applied with thisObject if defined?
proxy = proxy || function() {
return fn.apply( thisObject !== undefined ? thisObject : this, arguments );
};

// Set the guid of unique handler to the same of original handler, so it can be removed
proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.event.guid++;

// So proxy can be declared as an argument
return proxy;
};

jQuery.Event = function( src ) {
// Allow instantiation without the 'new' keyword
if ( !this.preventDefault ) {

0 comments on commit a5dbca4

Please sign in to comment.