git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "Fix Makefile to use plain sed. Remove unicode trickery"
[jquery.git]
/
src
/
core.js
diff --git
a/src/core.js
b/src/core.js
index
4311e31
..
520db45
100644
(file)
--- a/
src/core.js
+++ b/
src/core.js
@@
-19,12
+19,8
@@
var jQuery = function( selector, context ) {
// (both of which we optimize for)
quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,
// (both of which we optimize for)
quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,
- // Is it a simple selector
- isSimple = /^.[^:#\[\.,]*$/,
-
// Check if a string has a non-whitespace character in it
rnotwhite = /\S/,
// Check if a string has a non-whitespace character in it
rnotwhite = /\S/,
- rwhite = /\s/,
// Used for trimming whitespace
trimLeft = /^\s+/,
// Used for trimming whitespace
trimLeft = /^\s+/,
@@
-134,7
+130,7
@@
jQuery.fn = jQuery.prototype = {
} else {
ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
} else {
ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
- selector = (ret.cacheable ? jQuery(ret.fragment).clone()[0] : ret.fragment).childNodes;
+ selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes;
}
return jQuery.merge( this, selector );
}
return jQuery.merge( this, selector );
@@
-162,13
+158,6
@@
jQuery.fn = jQuery.prototype = {
return this;
}
return this;
}
- // HANDLE: $("TAG")
- } else if ( !context && !rnonword.test( selector ) ) {
- this.selector = selector;
- this.context = document;
- selector = document.getElementsByTagName( selector );
- return jQuery.merge( this, selector );
-
// HANDLE: $(expr, $(...))
} else if ( !context || context.jquery ) {
return (context || rootjQuery).find( selector );
// HANDLE: $(expr, $(...))
} else if ( !context || context.jquery ) {
return (context || rootjQuery).find( selector );
@@
-258,12
+247,14
@@
jQuery.fn = jQuery.prototype = {
return jQuery.each( this, callback, args );
},
return jQuery.each( this, callback, args );
},
- ready: function() {
+ ready: function( fn ) {
// Attach the listeners
jQuery.bindReady();
// Attach the listeners
jQuery.bindReady();
- // Change ready & apply
- return ( jQuery.fn.ready = readyList.done ).apply( this , arguments );
+ // Add the callback
+ readyList.done( fn );
+
+ return this;
},
eq: function( i ) {
},
eq: function( i ) {
@@
-410,7
+401,7
@@
jQuery.extend({
}
// If there are functions bound, to execute
}
// If there are functions bound, to execute
- readyList.fire( document , [ jQuery ] );
+ readyList.resolveWith( document, [ jQuery ] );
// Trigger any bound ready events
if ( jQuery.fn.trigger ) {
// Trigger any bound ready events
if ( jQuery.fn.trigger ) {
@@
-808,7
+799,6
@@
jQuery.extend({
// Create a simple deferred (one callbacks list)
_Deferred: function() {
// Create a simple deferred (one callbacks list)
_Deferred: function() {
-
var // callbacks list
callbacks = [],
// stored [ context , args ]
var // callbacks list
callbacks = [],
// stored [ context , args ]
@@
-821,53
+811,45
@@
jQuery.extend({
deferred = {
// done( f1, f2, ...)
deferred = {
// done( f1, f2, ...)
- done: function () {
-
- if ( ! cancelled ) {
-
+ done: function() {
+ if ( !cancelled ) {
var args = arguments,
i,
length,
elem,
type,
_fired;
var args = arguments,
i,
length,
elem,
type,
_fired;
-
if ( fired ) {
_fired = fired;
fired = 0;
}
if ( fired ) {
_fired = fired;
fired = 0;
}
-
- for ( i = 0, length = args.length ; i < length ; i++ ) {
+ for ( i = 0, length = args.length; i < length; i++ ) {
elem = args[ i ];
type = jQuery.type( elem );
if ( type === "array" ) {
elem = args[ i ];
type = jQuery.type( elem );
if ( type === "array" ) {
- deferred.done.apply( deferred , elem );
+ deferred.done.apply( deferred, elem );
} else if ( type === "function" ) {
callbacks.push( elem );
}
}
} else if ( type === "function" ) {
callbacks.push( elem );
}
}
-
if ( _fired ) {
if ( _fired ) {
- deferred.fire( _fired[ 0 ] , _fired[ 1 ] );
+ deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] );
}
}
}
}
-
return this;
},
// resolve with given context and args
return this;
},
// resolve with given context and args
- fire: function( context , args ) {
- if ( ! cancelled && ! fired && ! firing ) {
-
+ resolveWith: function( context, args ) {
+ if ( !cancelled && !fired && !firing ) {
firing = 1;
firing = 1;
-
try {
while( callbacks[ 0 ] ) {
try {
while( callbacks[ 0 ] ) {
- callbacks.shift().apply( context , args );
+ callbacks.shift().apply( context, args );
}
}
finally {
}
}
finally {
- fired = [ context , args ];
+ fired = [ context, args ];
firing = 0;
}
}
firing = 0;
}
}
@@
-876,7
+858,7
@@
jQuery.extend({
// resolve with this as context and given arguments
resolve: function() {
// resolve with this as context and given arguments
resolve: function() {
- deferred.fire( jQuery.isFunction( this.promise ) ? this.promise() : this , arguments );
+ deferred.resolveWith( jQuery.isFunction( this.promise ) ? this.promise() : this, arguments );
return this;
},
return this;
},
@@
-897,28
+879,23
@@
jQuery.extend({
},
// Full fledged deferred (two callbacks list)
},
// Full fledged deferred (two callbacks list)
- // Typical success/error system
Deferred: function( func ) {
Deferred: function( func ) {
-
var deferred = jQuery._Deferred(),
failDeferred = jQuery._Deferred(),
promise;
var deferred = jQuery._Deferred(),
failDeferred = jQuery._Deferred(),
promise;
-
// Add errorDeferred methods, then and promise
// Add errorDeferred methods, then and promise
- jQuery.extend( deferred , {
-
- then: function( doneCallbacks , failCallbacks ) {
+ jQuery.extend( deferred, {
+ then: function( doneCallbacks, failCallbacks ) {
deferred.done( doneCallbacks ).fail( failCallbacks );
return this;
},
fail: failDeferred.done,
deferred.done( doneCallbacks ).fail( failCallbacks );
return this;
},
fail: failDeferred.done,
- fireReject: failDeferred.fire,
+ rejectWith: failDeferred.resolveWith,
reject: failDeferred.resolve,
isRejected: failDeferred.isResolved,
// Get a promise for this deferred
// If obj is provided, the promise aspect is added to the object
reject: failDeferred.resolve,
isRejected: failDeferred.isResolved,
// Get a promise for this deferred
// If obj is provided, the promise aspect is added to the object
- // (i is used internally)
- promise: function( obj , i ) {
+ promise: function( obj , i /* internal */ ) {
if ( obj == null ) {
if ( promise ) {
return promise;
if ( obj == null ) {
if ( promise ) {
return promise;
@@
-931,20
+908,15
@@
jQuery.extend({
}
return obj;
}
}
return obj;
}
-
} );
} );
-
// Make sure only one callback list will be used
// Make sure only one callback list will be used
- deferred.then( failDeferred.cancel , deferred.cancel );
-
+ deferred.then( failDeferred.cancel, deferred.cancel );
// Unexpose cancel
delete deferred.cancel;
// Unexpose cancel
delete deferred.cancel;
-
// Call given func if any
if ( func ) {
// Call given func if any
if ( func ) {
- func.call( deferred , deferred );
+ func.call( deferred, deferred );
}
}
-
return deferred;
},
return deferred;
},
@@
-961,17
+933,14
@@
jQuery.extend({
if ( length > 1 ) {
resolveArray = new Array( length );
jQuery.each( args, function( index, element, args ) {
if ( length > 1 ) {
resolveArray = new Array( length );
jQuery.each( args, function( index, element, args ) {
- jQuery.when( element ).done( function( value ) {
+ jQuery.when( element ).then( function( value ) {
args = arguments;
args = arguments;
- resolveArray[ index ] = args.length > 1 ? slice.call( args , 0 ) : value;
+ resolveArray[ index ] = args.length > 1 ? slice.call( args, 0 ) : value;
if( ! --length ) {
if( ! --length ) {
- deferred.fire( promise, resolveArray );
+ deferred.resolveWith( promise, resolveArray );
}
}
- }).fail( function() {
- deferred.fireReject( promise, arguments );
- });
- return !deferred.isRejected();
- });
+ }, deferred.reject );
+ } );
} else if ( deferred !== object ) {
deferred.resolve( object );
}
} else if ( deferred !== object ) {
deferred.resolve( object );
}
@@
-1039,9
+1008,8
@@
if ( indexOf ) {
};
}
};
}
-// Verify that \s matches non-breaking spaces
-// (IE fails on this test)
-if ( !rwhite.test( "\xA0" ) ) {
+// IE doesn't match non-breaking spaces with \s
+if ( rnotwhite.test( "\xA0" ) ) {
trimLeft = /^[\s\xA0]+/;
trimRight = /[\s\xA0]+$/;
}
trimLeft = /^[\s\xA0]+/;
trimRight = /[\s\xA0]+$/;
}