Makes sure options.context is used as the context for global ajax events only if it's a DOM node.
This commit is contained in:
parent
389c099df6
commit
485fa0c42a
|
@ -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(),
|
||||
|
|
Loading…
Reference in a new issue