added: Backcompatibility with old proxy syntax.
This commit is contained in:
parent
a03f040dbf
commit
574ae3b1be
|
@ -739,6 +739,12 @@ jQuery.extend({
|
||||||
proxy: function( fn, context ) {
|
proxy: function( fn, context ) {
|
||||||
var args, proxy;
|
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
|
// Quick check to determine if target is callable, in the spec
|
||||||
// this throws a TypeError, but we will just return undefined.
|
// this throws a TypeError, but we will just return undefined.
|
||||||
if ( ! jQuery.isFunction( fn ) ) {
|
if ( ! jQuery.isFunction( fn ) ) {
|
||||||
|
|
|
@ -869,7 +869,7 @@ test("jQuery.isEmptyObject", function(){
|
||||||
});
|
});
|
||||||
|
|
||||||
test("jQuery.proxy", function(){
|
test("jQuery.proxy", function(){
|
||||||
expect(5);
|
expect(6);
|
||||||
|
|
||||||
var test = function(){ equals( this, thisObject, "Make sure that scope is set properly." ); };
|
var test = function(){ equals( this, thisObject, "Make sure that scope is set properly." ); };
|
||||||
var thisObject = { foo: "bar", method: test };
|
var thisObject = { foo: "bar", method: test };
|
||||||
|
@ -890,6 +890,10 @@ test("jQuery.proxy", function(){
|
||||||
// Partial application w/ normal arguments
|
// Partial application w/ normal arguments
|
||||||
var test3 = function( a, b ){ equals( b, "normal", "Ensure arguments can be pre-applied and passed as usual." ); };
|
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" );
|
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(){
|
test("jQuery.parseJSON", function(){
|
||||||
|
|
Loading…
Reference in a new issue