added: Backcompatibility with old proxy syntax.
This commit is contained in:
parent
a03f040dbf
commit
574ae3b1be
2 changed files with 11 additions and 1 deletions
|
@ -739,6 +739,12 @@ jQuery.extend({
|
|||
proxy: function( fn, context ) {
|
||||
var args, proxy;
|
||||
|
||||
// XXX BACKCOMPAT: Support old string method.
|
||||
if ( typeof context === "string" ) {
|
||||
fn = fn[ context ];
|
||||
context = arguments[0];
|
||||
}
|
||||
|
||||
// Quick check to determine if target is callable, in the spec
|
||||
// this throws a TypeError, but we will just return undefined.
|
||||
if ( ! jQuery.isFunction( fn ) ) {
|
||||
|
|
|
@ -869,7 +869,7 @@ test("jQuery.isEmptyObject", function(){
|
|||
});
|
||||
|
||||
test("jQuery.proxy", function(){
|
||||
expect(5);
|
||||
expect(6);
|
||||
|
||||
var test = function(){ equals( this, thisObject, "Make sure that scope is set properly." ); };
|
||||
var thisObject = { foo: "bar", method: test };
|
||||
|
@ -890,6 +890,10 @@ test("jQuery.proxy", function(){
|
|||
// Partial application w/ normal arguments
|
||||
var test3 = function( a, b ){ equals( b, "normal", "Ensure arguments can be pre-applied and passed as usual." ); };
|
||||
jQuery.proxy( test3, null, "pre-applied" )( "normal" );
|
||||
|
||||
// Test old syntax
|
||||
var test4 = { meth: function( a ){ equals( a, "boom", "Ensure old syntax works." ); } };
|
||||
jQuery.proxy( test4, "meth" )( "boom" );
|
||||
});
|
||||
|
||||
test("jQuery.parseJSON", function(){
|
||||
|
|
Loading…
Reference in a new issue