X-Git-Url: http://git.asbjorn.it/?p=jquery.git;a=blobdiff_plain;f=src%2Fajax.js;h=11eacee7190e92cf69ee3dc3ed724a9bb13a3afe;hp=4258b674428a68f5954fac63dc4f6bfa26134261;hb=485fa0c42a71b4decc9cb1ce08bb56efabcc76f3;hpb=389c099df686bd104ce0aab3361a94ebf3a05ce6 diff --git a/src/ajax.js b/src/ajax.js index 4258b67..11eacee 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -334,13 +334,17 @@ jQuery.extend({ var // Create the final options object s = jQuery.extend( true, {}, jQuery.ajaxSettings, options ), - // Callbacks contexts + // Callbacks context // We force the original context if it exists // or take it from jQuery.ajaxSettings otherwise // (plain objects used as context get extended) callbackContext = ( s.context = ( "context" in options ? options : jQuery.ajaxSettings ).context ) || s, - globalEventContext = callbackContext === s ? jQuery.event : jQuery( callbackContext ), + // Context for global events + // It's the callbackContext if one was provided in the options + // and if it's a DOM node + globalEventContext = callbackContext !== s && callbackContext.nodeType ? + jQuery( callbackContext ) : jQuery.event, // Deferreds deferred = jQuery.Deferred(), completeDeferred = jQuery._Deferred(),