return ret.concat.apply( [], ret );
},
+ // A global GUID counter for objects
+ guid: 1,
+
+ 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: {
// 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
elem = null;
},
- guid: 1,
global: {},
// Detach an event or set of events from an element
return event;
},
+ proxy: jQuery.proxy,
+
special: {
ready: {
// Make sure the ready event is setup
}
};
-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 ) {