From bd6eb849eeb96298bfbd3de71a27cfcbe32bc772 Mon Sep 17 00:00:00 2001 From: jaubourg Date: Wed, 19 Jan 2011 17:06:33 +0100 Subject: [PATCH] Revised how context is determined and removed unnecessary "parameter as variable" trick. --- src/ajax.js | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/ajax.js b/src/ajax.js index 43bab7c..b903358 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -233,8 +233,7 @@ jQuery.extend({ }, // Main method - // (s is used internally) - ajax: function( url , options , s ) { + ajax: function( url , options ) { // Handle varargs if ( arguments.length === 1 ) { @@ -248,19 +247,14 @@ jQuery.extend({ // Get the url if provided separately options.url = url || options.url; - // Create the final options object - s = jQuery.extend( true , {} , jQuery.ajaxSettings , options ); - - // We force the original context - // (plain objects used as context get extended) - s.context = options.context; - - var // jQuery lists + var // Create the final options object + s = jQuery.extend( true , {} , jQuery.ajaxSettings , options ), + // jQuery lists jQuery_lastModified = jQuery.lastModified, jQuery_etag = jQuery.etag, // Callbacks contexts - callbackContext = s.context || s, - globalEventContext = s.context ? jQuery( s.context ) : jQuery.event, + callbackContext = options.context || s.context || s, + globalEventContext = callbackContext === s ? jQuery.event : jQuery( callbackContext ), // Deferreds deferred = jQuery.Deferred(), completeDeferred = jQuery._Deferred(), @@ -337,6 +331,10 @@ jQuery.extend({ } }; + // We force the original context + // (plain objects used as context get extended) + s.context = options.context; + // Callback for when everything is done // It is defined here because jslint complains if it is declared // at the end of the function (which would be more logical and readable) -- 1.7.10.4