X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fcore.js;h=975d23c0db659e8d9465a31c557b895068e56c5e;hb=230614b4df313493813d688b63ab68f3812a0030;hp=8bd8044db29dfc2447e1f2dcebf4e09f0e0ac609;hpb=0645b71ee6139c19c2c5a488f16f50dc1c31e9ac;p=jquery.git diff --git a/src/core.js b/src/core.js index 8bd8044..975d23c 100644 --- a/src/core.js +++ b/src/core.js @@ -619,6 +619,37 @@ jQuery.extend({ return ret.concat.apply( [], ret ); }, + // A global GUID counter for objects + guid: 1, + + proxy: function( fn, proxy, thisObject ) { + if ( arguments.length === 2 ) { + if ( typeof proxy === "string" ) { + thisObject = fn; + fn = thisObject[ proxy ]; + proxy = undefined; + + } else if ( proxy && !jQuery.isFunction( proxy ) ) { + thisObject = proxy; + proxy = undefined; + } + } + + if ( !proxy && fn ) { + 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 + if ( fn ) { + 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 uaMatch: function( ua ) {