diff --git a/src/ajax.js b/src/ajax.js index e0ab7f483..244397f4c 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -1,7 +1,7 @@ jQuery.fn.extend({ // Keep a copy of the old load _load: jQuery.fn.load, - + load: function( url, params, callback ) { if ( typeof url != 'string' ) return this._load( url ); @@ -71,8 +71,8 @@ jQuery.fn.extend({ jQuery.makeArray(this.elements) : this; }) .filter(function(){ - return this.name && !this.disabled && - (this.checked || /select|textarea/i.test(this.nodeName) || + return this.name && !this.disabled && + (this.checked || /select|textarea/i.test(this.nodeName) || /text|hidden|password/i.test(this.type)); }) .map(function(i, elem){ @@ -103,7 +103,7 @@ jQuery.extend({ callback = data; data = null; } - + return jQuery.ajax({ type: "GET", url: url, @@ -159,7 +159,7 @@ jQuery.extend({ _default: "*/*" } }, - + // Last-Modified header cache for next request lastModified: {}, @@ -248,7 +248,7 @@ jQuery.extend({ // Attach handlers for all browsers script.onload = script.onreadystatechange = function(){ - if ( !done && (!this.readyState || + if ( !done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") ) { done = true; success(); @@ -301,7 +301,7 @@ jQuery.extend({ xml.abort(); return false; } - + if ( s.global ) jQuery.event.trigger("ajaxSend", [xml, s]); @@ -310,13 +310,13 @@ jQuery.extend({ // The transfer is complete and the data is available, or the request timed out if ( !requestDone && xml && (xml.readyState == 4 || isTimeout == "timeout") ) { requestDone = true; - + // clear poll interval if (ival) { clearInterval(ival); ival = null; } - + status = isTimeout == "timeout" && "timeout" || !jQuery.httpSuccess( xml ) && "error" || s.ifModified && jQuery.httpNotModified( xml, s.url ) && "notmodified" || @@ -339,13 +339,13 @@ jQuery.extend({ try { modRes = xml.getResponseHeader("Last-Modified"); } catch(e) {} // swallow exception thrown by FF if header is not available - + if ( s.ifModified && modRes ) jQuery.lastModified[s.url] = modRes; // JSONP handles its own success callback if ( !jsonp ) - success(); + success(); } else jQuery.handleError(s, xml, status); @@ -357,10 +357,10 @@ jQuery.extend({ xml = null; } }; - + if ( s.async ) { // don't attach the handler to the request, just poll it instead - var ival = setInterval(onreadystatechange, 13); + var ival = setInterval(onreadystatechange, 13); // Timeout checker if ( s.timeout > 0 ) @@ -369,20 +369,20 @@ jQuery.extend({ if ( xml ) { // Cancel the request xml.abort(); - + if( !requestDone ) onreadystatechange( "timeout" ); } }, s.timeout); } - + // Send the data try { xml.send(s.data); } catch(e) { jQuery.handleError(s, xml, null, e); } - + // firefox 1.5 doesn't fire statechange for sync requests if ( !s.async ) onreadystatechange(); @@ -410,7 +410,7 @@ jQuery.extend({ if ( s.global && ! --jQuery.active ) jQuery.event.trigger( "ajaxStop" ); } - + // return XMLHttpRequest to allow aborting the request etc. return xml; }, diff --git a/src/core.js b/src/core.js index d23d45087..a0533b178 100644 --- a/src/core.js +++ b/src/core.js @@ -11,7 +11,7 @@ // Map over jQuery in case of overwrite var _jQuery = window.jQuery, -// Map over the $ in case of overwrite +// Map over the $ in case of overwrite _$ = window.$; var jQuery = window.jQuery = window.$ = function( selector, context ) { @@ -26,7 +26,7 @@ var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/, // Is it a simple selector isSimple = /^.[^:#\[\.]*$/, -// Will speed up references to undefined, and allows munging its name. +// Will speed up references to undefined, and allows munging its name. undefined; jQuery.fn = jQuery.prototype = { @@ -78,10 +78,10 @@ jQuery.fn = jQuery.prototype = { // Shortcut for document ready } else if ( jQuery.isFunction( selector ) ) return jQuery( document )[ jQuery.fn.ready ? "ready" : "load" ]( selector ); - + return this.setArray(jQuery.makeArray(selector)); }, - + // The current version of jQuery being used jquery: "@VERSION", @@ -89,7 +89,7 @@ jQuery.fn = jQuery.prototype = { size: function() { return this.length; }, - + // The number of elements contained in the matched element set length: 0, @@ -104,7 +104,7 @@ jQuery.fn = jQuery.prototype = { // Return just the object this[ num ]; }, - + // Take an array of elements and push it onto the stack // (returning the new matched element set) pushStack: function( elems ) { @@ -117,7 +117,7 @@ jQuery.fn = jQuery.prototype = { // Return the newly-formed element set return ret; }, - + // Force the current matched set of elements to become // the specified array of elements (destroying the stack in the process) // You should use pushStack() in order to do this, but maintain the stack @@ -126,7 +126,7 @@ jQuery.fn = jQuery.prototype = { // is a super-fast way to populate an object with array-like properties this.length = 0; Array.prototype.push.apply( this, elems ); - + return this; }, @@ -137,13 +137,13 @@ jQuery.fn = jQuery.prototype = { return jQuery.each( this, callback, args ); }, - // Determine the position of an element within + // Determine the position of an element within // the matched set of elements index: function( elem ) { var ret = -1; // Locate the position of the desired element - return jQuery.inArray( + return jQuery.inArray( // If it receives a jQuery object, the first element is used elem && elem.jquery ? elem[0] : elem , this ); @@ -151,7 +151,7 @@ jQuery.fn = jQuery.prototype = { attr: function( name, value, type ) { var options = name; - + // Look for the case where we're accessing a style value if ( name.constructor == String ) if ( value === undefined ) @@ -161,7 +161,7 @@ jQuery.fn = jQuery.prototype = { options = {}; options[ name ] = value; } - + // Check to see if we're setting style values return this.each(function(i){ // Set all the styles @@ -244,7 +244,7 @@ jQuery.fn = jQuery.prototype = { this.insertBefore( elem, this.firstChild ); }); }, - + before: function() { return this.domManip(arguments, false, false, function(elem){ this.parentNode.insertBefore( elem, this ); @@ -279,8 +279,8 @@ jQuery.fn = jQuery.prototype = { // using cloneNode. Calling detachEvent on the // clone will also remove the events from the orignal // In order to get around this, we use innerHTML. - // Unfortunately, this means some modifications to - // attributes in IE that are actually only stored + // Unfortunately, this means some modifications to + // attributes in IE that are actually only stored // as properties will not be copied (such as the // the name attribute on an input). var clone = this.cloneNode(true), @@ -298,7 +298,7 @@ jQuery.fn = jQuery.prototype = { if ( this[ expando ] != undefined ) this[ expando ] = null; }); - + // Copy the events from the original to the clone if ( events === true ) this.find("*").andSelf().each(function(i){ @@ -340,9 +340,9 @@ jQuery.fn = jQuery.prototype = { }, add: function( selector ) { - return this.pushStack( jQuery.unique( jQuery.merge( + return this.pushStack( jQuery.unique( jQuery.merge( this.get(), - typeof selector == 'string' ? + typeof selector == 'string' ? jQuery( selector ) : jQuery.makeArray( selector ) ))); @@ -355,7 +355,7 @@ jQuery.fn = jQuery.prototype = { hasClass: function( selector ) { return this.is( "." + selector ); }, - + val: function( value ) { if ( value == undefined ) { @@ -368,7 +368,7 @@ jQuery.fn = jQuery.prototype = { values = [], options = elem.options, one = elem.type == "select-one"; - + // Nothing was selected if ( index < 0 ) return null; @@ -380,18 +380,18 @@ jQuery.fn = jQuery.prototype = { if ( option.selected ) { // Get the specifc value for the option value = jQuery.browser.msie && !option.attributes.value.specified ? option.text : option.value; - + // We don't need an array for one selects if ( one ) return value; - + // Multi-Selects return an array values.push( value ); } } - + return values; - + // Everything else, we just grab the value } else return (this[0].value || "").replace(/\r/g, ""); @@ -426,7 +426,7 @@ jQuery.fn = jQuery.prototype = { this.value = value; }); }, - + html: function( value ) { return value == undefined ? (this.length ? @@ -463,7 +463,7 @@ jQuery.fn = jQuery.prototype = { if ( value === undefined ) { var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); - + if ( data === undefined && this.length ) data = jQuery.data( this[0], key ); @@ -481,9 +481,9 @@ jQuery.fn = jQuery.prototype = { jQuery.removeData( this, key ); }); }, - + domManip: function( args, table, reverse, callback ) { - var clone = this.length > 1, elems; + var clone = this.length > 1, elems; return this.each(function(){ if ( !elems ) { @@ -572,8 +572,8 @@ jQuery.extend = jQuery.fn.extend = function() { if ( (options = arguments[ i ]) != null ) // Extend the base object for ( var name in options ) { - var src = target[ name ], copy = options[ name ]; - + var src = target[ name ], copy = options[ name ]; + // Prevent never-ending loop if ( target === copy ) continue; @@ -611,10 +611,10 @@ jQuery.extend({ // See test/unit/core.js for details concerning this function. isFunction: function( fn ) { - return !!fn && typeof fn != "string" && !fn.nodeName && + return !!fn && typeof fn != "string" && !fn.nodeName && fn.constructor != Array && /function/i.test( fn + "" ); }, - + // check if an element is in a (or is an) XML document isXMLDoc: function( elem ) { return elem.documentElement && !elem.body || @@ -645,9 +645,9 @@ jQuery.extend({ nodeName: function( elem, name ) { return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase(); }, - + cache: {}, - + data: function( elem, name, data ) { elem = elem == window ? windowData : @@ -656,24 +656,24 @@ jQuery.extend({ var id = elem[ expando ]; // Compute a unique ID for the element - if ( !id ) + if ( !id ) id = elem[ expando ] = ++uuid; // Only generate the data cache if we're // trying to access or manipulate it if ( name && !jQuery.cache[ id ] ) jQuery.cache[ id ] = {}; - + // Prevent overriding the named cache with undefined values if ( data !== undefined ) jQuery.cache[ id ][ name ] = data; - - // Return the named cache data, or the ID for the element + + // Return the named cache data, or the ID for the element return name ? jQuery.cache[ id ][ name ] : id; }, - + removeData: function( elem, name ) { elem = elem == window ? windowData : @@ -717,7 +717,7 @@ jQuery.extend({ // args is for internal usage only each: function( object, callback, args ) { var name, i = 0, length = object.length; - + if ( args ) { if ( length == undefined ) { for ( name in object ) @@ -735,18 +735,18 @@ jQuery.extend({ if ( callback.call( object[ name ], name, object[ name ] ) === false ) break; } else - for ( var value = object[0]; + for ( var value = object[0]; i < length && callback.call( value, i, value ) !== false; value = object[++i] ){} } return object; }, - + prop: function( elem, value, type, i, name ) { // Handle executable functions if ( jQuery.isFunction( value ) ) value = value.call( elem, i ); - + // Handle passing in a number to a CSS property return value && value.constructor == Number && type == "curCSS" && !exclude.test( name ) ? value + "px" : @@ -767,7 +767,7 @@ jQuery.extend({ if (elem.nodeType == 1) elem.className = classNames != undefined ? jQuery.grep(elem.className.split(/\s+/), function(className){ - return !jQuery.className.has( classNames, className ); + return !jQuery.className.has( classNames, className ); }).join(" ") : ""; }, @@ -797,7 +797,7 @@ jQuery.extend({ css: function( elem, name, force ) { if ( name == "width" || name == "height" ) { var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ]; - + function getWH() { val = name == "width" ? elem.offsetWidth : elem.offsetHeight; var padding = 0, border = 0; @@ -807,15 +807,15 @@ jQuery.extend({ }); val -= Math.round(padding + border); } - + if ( jQuery(elem).is(":visible") ) getWH(); else jQuery.swap( elem, props, getWH ); - + return Math.max(0, val); } - + return jQuery.curCSS( elem, name, force ); }, @@ -826,7 +826,7 @@ jQuery.extend({ function color( elem ) { if ( !jQuery.browser.safari ) return false; - + // getComputedStyle is cached var ret = getComputedStyle( elem, null ); return !ret || ret.getPropertyValue("color") == ""; @@ -846,7 +846,7 @@ jQuery.extend({ style.outline = "0 solid black"; style.outline = save; } - + // Make sure we're using the right name for getting the float value if ( name.match( /float/i ) ) name = styleFloat; @@ -929,12 +929,12 @@ jQuery.extend({ return ret; }, - + clean: function( elems, context ) { var ret = []; context = context || document; // !context.createElement fails in IE with an error but returns typeof 'object' - if (typeof context.createElement == 'undefined') + if (typeof context.createElement == 'undefined') context = context.ownerDocument || context[0] && context[0].ownerDocument || document; jQuery.each(elems, function(i, elem){ @@ -943,7 +943,7 @@ jQuery.extend({ if ( elem.constructor == Number ) elem += ''; - + // Convert html string into DOM nodes if ( typeof elem == "string" ) { // Fix "XHTML"-style tags in all browsers @@ -960,58 +960,58 @@ jQuery.extend({ // option or optgroup !tags.indexOf("", "" ] || - + !tags.indexOf("", "" ] || - + tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && [ 1, "", "
" ] || - + !tags.indexOf("", "" ] || - + // matched above (!tags.indexOf("", "" ] || - + !tags.indexOf("", "" ] || // IE can't serialize and