jquery: removing unnecessary trailing and leading spaces & tabs.
This commit is contained in:
parent
20a7bff401
commit
3f5ff3097c
34
src/ajax.js
34
src/ajax.js
|
@ -1,7 +1,7 @@
|
||||||
jQuery.fn.extend({
|
jQuery.fn.extend({
|
||||||
// Keep a copy of the old load
|
// Keep a copy of the old load
|
||||||
_load: jQuery.fn.load,
|
_load: jQuery.fn.load,
|
||||||
|
|
||||||
load: function( url, params, callback ) {
|
load: function( url, params, callback ) {
|
||||||
if ( typeof url != 'string' )
|
if ( typeof url != 'string' )
|
||||||
return this._load( url );
|
return this._load( url );
|
||||||
|
@ -71,8 +71,8 @@ jQuery.fn.extend({
|
||||||
jQuery.makeArray(this.elements) : this;
|
jQuery.makeArray(this.elements) : this;
|
||||||
})
|
})
|
||||||
.filter(function(){
|
.filter(function(){
|
||||||
return this.name && !this.disabled &&
|
return this.name && !this.disabled &&
|
||||||
(this.checked || /select|textarea/i.test(this.nodeName) ||
|
(this.checked || /select|textarea/i.test(this.nodeName) ||
|
||||||
/text|hidden|password/i.test(this.type));
|
/text|hidden|password/i.test(this.type));
|
||||||
})
|
})
|
||||||
.map(function(i, elem){
|
.map(function(i, elem){
|
||||||
|
@ -103,7 +103,7 @@ jQuery.extend({
|
||||||
callback = data;
|
callback = data;
|
||||||
data = null;
|
data = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return jQuery.ajax({
|
return jQuery.ajax({
|
||||||
type: "GET",
|
type: "GET",
|
||||||
url: url,
|
url: url,
|
||||||
|
@ -159,7 +159,7 @@ jQuery.extend({
|
||||||
_default: "*/*"
|
_default: "*/*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Last-Modified header cache for next request
|
// Last-Modified header cache for next request
|
||||||
lastModified: {},
|
lastModified: {},
|
||||||
|
|
||||||
|
@ -248,7 +248,7 @@ jQuery.extend({
|
||||||
|
|
||||||
// Attach handlers for all browsers
|
// Attach handlers for all browsers
|
||||||
script.onload = script.onreadystatechange = function(){
|
script.onload = script.onreadystatechange = function(){
|
||||||
if ( !done && (!this.readyState ||
|
if ( !done && (!this.readyState ||
|
||||||
this.readyState == "loaded" || this.readyState == "complete") ) {
|
this.readyState == "loaded" || this.readyState == "complete") ) {
|
||||||
done = true;
|
done = true;
|
||||||
success();
|
success();
|
||||||
|
@ -301,7 +301,7 @@ jQuery.extend({
|
||||||
xml.abort();
|
xml.abort();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( s.global )
|
if ( s.global )
|
||||||
jQuery.event.trigger("ajaxSend", [xml, s]);
|
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
|
// The transfer is complete and the data is available, or the request timed out
|
||||||
if ( !requestDone && xml && (xml.readyState == 4 || isTimeout == "timeout") ) {
|
if ( !requestDone && xml && (xml.readyState == 4 || isTimeout == "timeout") ) {
|
||||||
requestDone = true;
|
requestDone = true;
|
||||||
|
|
||||||
// clear poll interval
|
// clear poll interval
|
||||||
if (ival) {
|
if (ival) {
|
||||||
clearInterval(ival);
|
clearInterval(ival);
|
||||||
ival = null;
|
ival = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
status = isTimeout == "timeout" && "timeout" ||
|
status = isTimeout == "timeout" && "timeout" ||
|
||||||
!jQuery.httpSuccess( xml ) && "error" ||
|
!jQuery.httpSuccess( xml ) && "error" ||
|
||||||
s.ifModified && jQuery.httpNotModified( xml, s.url ) && "notmodified" ||
|
s.ifModified && jQuery.httpNotModified( xml, s.url ) && "notmodified" ||
|
||||||
|
@ -339,13 +339,13 @@ jQuery.extend({
|
||||||
try {
|
try {
|
||||||
modRes = xml.getResponseHeader("Last-Modified");
|
modRes = xml.getResponseHeader("Last-Modified");
|
||||||
} catch(e) {} // swallow exception thrown by FF if header is not available
|
} catch(e) {} // swallow exception thrown by FF if header is not available
|
||||||
|
|
||||||
if ( s.ifModified && modRes )
|
if ( s.ifModified && modRes )
|
||||||
jQuery.lastModified[s.url] = modRes;
|
jQuery.lastModified[s.url] = modRes;
|
||||||
|
|
||||||
// JSONP handles its own success callback
|
// JSONP handles its own success callback
|
||||||
if ( !jsonp )
|
if ( !jsonp )
|
||||||
success();
|
success();
|
||||||
} else
|
} else
|
||||||
jQuery.handleError(s, xml, status);
|
jQuery.handleError(s, xml, status);
|
||||||
|
|
||||||
|
@ -357,10 +357,10 @@ jQuery.extend({
|
||||||
xml = null;
|
xml = null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if ( s.async ) {
|
if ( s.async ) {
|
||||||
// don't attach the handler to the request, just poll it instead
|
// don't attach the handler to the request, just poll it instead
|
||||||
var ival = setInterval(onreadystatechange, 13);
|
var ival = setInterval(onreadystatechange, 13);
|
||||||
|
|
||||||
// Timeout checker
|
// Timeout checker
|
||||||
if ( s.timeout > 0 )
|
if ( s.timeout > 0 )
|
||||||
|
@ -369,20 +369,20 @@ jQuery.extend({
|
||||||
if ( xml ) {
|
if ( xml ) {
|
||||||
// Cancel the request
|
// Cancel the request
|
||||||
xml.abort();
|
xml.abort();
|
||||||
|
|
||||||
if( !requestDone )
|
if( !requestDone )
|
||||||
onreadystatechange( "timeout" );
|
onreadystatechange( "timeout" );
|
||||||
}
|
}
|
||||||
}, s.timeout);
|
}, s.timeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send the data
|
// Send the data
|
||||||
try {
|
try {
|
||||||
xml.send(s.data);
|
xml.send(s.data);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
jQuery.handleError(s, xml, null, e);
|
jQuery.handleError(s, xml, null, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
// firefox 1.5 doesn't fire statechange for sync requests
|
// firefox 1.5 doesn't fire statechange for sync requests
|
||||||
if ( !s.async )
|
if ( !s.async )
|
||||||
onreadystatechange();
|
onreadystatechange();
|
||||||
|
@ -410,7 +410,7 @@ jQuery.extend({
|
||||||
if ( s.global && ! --jQuery.active )
|
if ( s.global && ! --jQuery.active )
|
||||||
jQuery.event.trigger( "ajaxStop" );
|
jQuery.event.trigger( "ajaxStop" );
|
||||||
}
|
}
|
||||||
|
|
||||||
// return XMLHttpRequest to allow aborting the request etc.
|
// return XMLHttpRequest to allow aborting the request etc.
|
||||||
return xml;
|
return xml;
|
||||||
},
|
},
|
||||||
|
|
168
src/core.js
168
src/core.js
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
// Map over jQuery in case of overwrite
|
// Map over jQuery in case of overwrite
|
||||||
var _jQuery = window.jQuery,
|
var _jQuery = window.jQuery,
|
||||||
// Map over the $ in case of overwrite
|
// Map over the $ in case of overwrite
|
||||||
_$ = window.$;
|
_$ = window.$;
|
||||||
|
|
||||||
var jQuery = window.jQuery = window.$ = function( selector, context ) {
|
var jQuery = window.jQuery = window.$ = function( selector, context ) {
|
||||||
|
@ -26,7 +26,7 @@ var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,
|
||||||
// Is it a simple selector
|
// Is it a simple selector
|
||||||
isSimple = /^.[^:#\[\.]*$/,
|
isSimple = /^.[^:#\[\.]*$/,
|
||||||
|
|
||||||
// Will speed up references to undefined, and allows munging its name.
|
// Will speed up references to undefined, and allows munging its name.
|
||||||
undefined;
|
undefined;
|
||||||
|
|
||||||
jQuery.fn = jQuery.prototype = {
|
jQuery.fn = jQuery.prototype = {
|
||||||
|
@ -78,10 +78,10 @@ jQuery.fn = jQuery.prototype = {
|
||||||
// Shortcut for document ready
|
// Shortcut for document ready
|
||||||
} else if ( jQuery.isFunction( selector ) )
|
} else if ( jQuery.isFunction( selector ) )
|
||||||
return jQuery( document )[ jQuery.fn.ready ? "ready" : "load" ]( selector );
|
return jQuery( document )[ jQuery.fn.ready ? "ready" : "load" ]( selector );
|
||||||
|
|
||||||
return this.setArray(jQuery.makeArray(selector));
|
return this.setArray(jQuery.makeArray(selector));
|
||||||
},
|
},
|
||||||
|
|
||||||
// The current version of jQuery being used
|
// The current version of jQuery being used
|
||||||
jquery: "@VERSION",
|
jquery: "@VERSION",
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ jQuery.fn = jQuery.prototype = {
|
||||||
size: function() {
|
size: function() {
|
||||||
return this.length;
|
return this.length;
|
||||||
},
|
},
|
||||||
|
|
||||||
// The number of elements contained in the matched element set
|
// The number of elements contained in the matched element set
|
||||||
length: 0,
|
length: 0,
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ jQuery.fn = jQuery.prototype = {
|
||||||
// Return just the object
|
// Return just the object
|
||||||
this[ num ];
|
this[ num ];
|
||||||
},
|
},
|
||||||
|
|
||||||
// Take an array of elements and push it onto the stack
|
// Take an array of elements and push it onto the stack
|
||||||
// (returning the new matched element set)
|
// (returning the new matched element set)
|
||||||
pushStack: function( elems ) {
|
pushStack: function( elems ) {
|
||||||
|
@ -117,7 +117,7 @@ jQuery.fn = jQuery.prototype = {
|
||||||
// Return the newly-formed element set
|
// Return the newly-formed element set
|
||||||
return ret;
|
return ret;
|
||||||
},
|
},
|
||||||
|
|
||||||
// Force the current matched set of elements to become
|
// Force the current matched set of elements to become
|
||||||
// the specified array of elements (destroying the stack in the process)
|
// the specified array of elements (destroying the stack in the process)
|
||||||
// You should use pushStack() in order to do this, but maintain the stack
|
// 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
|
// is a super-fast way to populate an object with array-like properties
|
||||||
this.length = 0;
|
this.length = 0;
|
||||||
Array.prototype.push.apply( this, elems );
|
Array.prototype.push.apply( this, elems );
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -137,13 +137,13 @@ jQuery.fn = jQuery.prototype = {
|
||||||
return jQuery.each( this, callback, args );
|
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
|
// the matched set of elements
|
||||||
index: function( elem ) {
|
index: function( elem ) {
|
||||||
var ret = -1;
|
var ret = -1;
|
||||||
|
|
||||||
// Locate the position of the desired element
|
// Locate the position of the desired element
|
||||||
return jQuery.inArray(
|
return jQuery.inArray(
|
||||||
// If it receives a jQuery object, the first element is used
|
// If it receives a jQuery object, the first element is used
|
||||||
elem && elem.jquery ? elem[0] : elem
|
elem && elem.jquery ? elem[0] : elem
|
||||||
, this );
|
, this );
|
||||||
|
@ -151,7 +151,7 @@ jQuery.fn = jQuery.prototype = {
|
||||||
|
|
||||||
attr: function( name, value, type ) {
|
attr: function( name, value, type ) {
|
||||||
var options = name;
|
var options = name;
|
||||||
|
|
||||||
// Look for the case where we're accessing a style value
|
// Look for the case where we're accessing a style value
|
||||||
if ( name.constructor == String )
|
if ( name.constructor == String )
|
||||||
if ( value === undefined )
|
if ( value === undefined )
|
||||||
|
@ -161,7 +161,7 @@ jQuery.fn = jQuery.prototype = {
|
||||||
options = {};
|
options = {};
|
||||||
options[ name ] = value;
|
options[ name ] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check to see if we're setting style values
|
// Check to see if we're setting style values
|
||||||
return this.each(function(i){
|
return this.each(function(i){
|
||||||
// Set all the styles
|
// Set all the styles
|
||||||
|
@ -244,7 +244,7 @@ jQuery.fn = jQuery.prototype = {
|
||||||
this.insertBefore( elem, this.firstChild );
|
this.insertBefore( elem, this.firstChild );
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
before: function() {
|
before: function() {
|
||||||
return this.domManip(arguments, false, false, function(elem){
|
return this.domManip(arguments, false, false, function(elem){
|
||||||
this.parentNode.insertBefore( elem, this );
|
this.parentNode.insertBefore( elem, this );
|
||||||
|
@ -279,8 +279,8 @@ jQuery.fn = jQuery.prototype = {
|
||||||
// using cloneNode. Calling detachEvent on the
|
// using cloneNode. Calling detachEvent on the
|
||||||
// clone will also remove the events from the orignal
|
// clone will also remove the events from the orignal
|
||||||
// In order to get around this, we use innerHTML.
|
// In order to get around this, we use innerHTML.
|
||||||
// Unfortunately, this means some modifications to
|
// Unfortunately, this means some modifications to
|
||||||
// attributes in IE that are actually only stored
|
// attributes in IE that are actually only stored
|
||||||
// as properties will not be copied (such as the
|
// as properties will not be copied (such as the
|
||||||
// the name attribute on an input).
|
// the name attribute on an input).
|
||||||
var clone = this.cloneNode(true),
|
var clone = this.cloneNode(true),
|
||||||
|
@ -298,7 +298,7 @@ jQuery.fn = jQuery.prototype = {
|
||||||
if ( this[ expando ] != undefined )
|
if ( this[ expando ] != undefined )
|
||||||
this[ expando ] = null;
|
this[ expando ] = null;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Copy the events from the original to the clone
|
// Copy the events from the original to the clone
|
||||||
if ( events === true )
|
if ( events === true )
|
||||||
this.find("*").andSelf().each(function(i){
|
this.find("*").andSelf().each(function(i){
|
||||||
|
@ -340,9 +340,9 @@ jQuery.fn = jQuery.prototype = {
|
||||||
},
|
},
|
||||||
|
|
||||||
add: function( selector ) {
|
add: function( selector ) {
|
||||||
return this.pushStack( jQuery.unique( jQuery.merge(
|
return this.pushStack( jQuery.unique( jQuery.merge(
|
||||||
this.get(),
|
this.get(),
|
||||||
typeof selector == 'string' ?
|
typeof selector == 'string' ?
|
||||||
jQuery( selector ) :
|
jQuery( selector ) :
|
||||||
jQuery.makeArray( selector )
|
jQuery.makeArray( selector )
|
||||||
)));
|
)));
|
||||||
|
@ -355,7 +355,7 @@ jQuery.fn = jQuery.prototype = {
|
||||||
hasClass: function( selector ) {
|
hasClass: function( selector ) {
|
||||||
return this.is( "." + selector );
|
return this.is( "." + selector );
|
||||||
},
|
},
|
||||||
|
|
||||||
val: function( value ) {
|
val: function( value ) {
|
||||||
if ( value == undefined ) {
|
if ( value == undefined ) {
|
||||||
|
|
||||||
|
@ -368,7 +368,7 @@ jQuery.fn = jQuery.prototype = {
|
||||||
values = [],
|
values = [],
|
||||||
options = elem.options,
|
options = elem.options,
|
||||||
one = elem.type == "select-one";
|
one = elem.type == "select-one";
|
||||||
|
|
||||||
// Nothing was selected
|
// Nothing was selected
|
||||||
if ( index < 0 )
|
if ( index < 0 )
|
||||||
return null;
|
return null;
|
||||||
|
@ -380,18 +380,18 @@ jQuery.fn = jQuery.prototype = {
|
||||||
if ( option.selected ) {
|
if ( option.selected ) {
|
||||||
// Get the specifc value for the option
|
// Get the specifc value for the option
|
||||||
value = jQuery.browser.msie && !option.attributes.value.specified ? option.text : option.value;
|
value = jQuery.browser.msie && !option.attributes.value.specified ? option.text : option.value;
|
||||||
|
|
||||||
// We don't need an array for one selects
|
// We don't need an array for one selects
|
||||||
if ( one )
|
if ( one )
|
||||||
return value;
|
return value;
|
||||||
|
|
||||||
// Multi-Selects return an array
|
// Multi-Selects return an array
|
||||||
values.push( value );
|
values.push( value );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return values;
|
return values;
|
||||||
|
|
||||||
// Everything else, we just grab the value
|
// Everything else, we just grab the value
|
||||||
} else
|
} else
|
||||||
return (this[0].value || "").replace(/\r/g, "");
|
return (this[0].value || "").replace(/\r/g, "");
|
||||||
|
@ -426,7 +426,7 @@ jQuery.fn = jQuery.prototype = {
|
||||||
this.value = value;
|
this.value = value;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
html: function( value ) {
|
html: function( value ) {
|
||||||
return value == undefined ?
|
return value == undefined ?
|
||||||
(this.length ?
|
(this.length ?
|
||||||
|
@ -463,7 +463,7 @@ jQuery.fn = jQuery.prototype = {
|
||||||
|
|
||||||
if ( value === undefined ) {
|
if ( value === undefined ) {
|
||||||
var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
|
var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
|
||||||
|
|
||||||
if ( data === undefined && this.length )
|
if ( data === undefined && this.length )
|
||||||
data = jQuery.data( this[0], key );
|
data = jQuery.data( this[0], key );
|
||||||
|
|
||||||
|
@ -481,9 +481,9 @@ jQuery.fn = jQuery.prototype = {
|
||||||
jQuery.removeData( this, key );
|
jQuery.removeData( this, key );
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
domManip: function( args, table, reverse, callback ) {
|
domManip: function( args, table, reverse, callback ) {
|
||||||
var clone = this.length > 1, elems;
|
var clone = this.length > 1, elems;
|
||||||
|
|
||||||
return this.each(function(){
|
return this.each(function(){
|
||||||
if ( !elems ) {
|
if ( !elems ) {
|
||||||
|
@ -572,8 +572,8 @@ jQuery.extend = jQuery.fn.extend = function() {
|
||||||
if ( (options = arguments[ i ]) != null )
|
if ( (options = arguments[ i ]) != null )
|
||||||
// Extend the base object
|
// Extend the base object
|
||||||
for ( var name in options ) {
|
for ( var name in options ) {
|
||||||
var src = target[ name ], copy = options[ name ];
|
var src = target[ name ], copy = options[ name ];
|
||||||
|
|
||||||
// Prevent never-ending loop
|
// Prevent never-ending loop
|
||||||
if ( target === copy )
|
if ( target === copy )
|
||||||
continue;
|
continue;
|
||||||
|
@ -611,10 +611,10 @@ jQuery.extend({
|
||||||
|
|
||||||
// See test/unit/core.js for details concerning this function.
|
// See test/unit/core.js for details concerning this function.
|
||||||
isFunction: function( fn ) {
|
isFunction: function( fn ) {
|
||||||
return !!fn && typeof fn != "string" && !fn.nodeName &&
|
return !!fn && typeof fn != "string" && !fn.nodeName &&
|
||||||
fn.constructor != Array && /function/i.test( fn + "" );
|
fn.constructor != Array && /function/i.test( fn + "" );
|
||||||
},
|
},
|
||||||
|
|
||||||
// check if an element is in a (or is an) XML document
|
// check if an element is in a (or is an) XML document
|
||||||
isXMLDoc: function( elem ) {
|
isXMLDoc: function( elem ) {
|
||||||
return elem.documentElement && !elem.body ||
|
return elem.documentElement && !elem.body ||
|
||||||
|
@ -645,9 +645,9 @@ jQuery.extend({
|
||||||
nodeName: function( elem, name ) {
|
nodeName: function( elem, name ) {
|
||||||
return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();
|
return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();
|
||||||
},
|
},
|
||||||
|
|
||||||
cache: {},
|
cache: {},
|
||||||
|
|
||||||
data: function( elem, name, data ) {
|
data: function( elem, name, data ) {
|
||||||
elem = elem == window ?
|
elem = elem == window ?
|
||||||
windowData :
|
windowData :
|
||||||
|
@ -656,24 +656,24 @@ jQuery.extend({
|
||||||
var id = elem[ expando ];
|
var id = elem[ expando ];
|
||||||
|
|
||||||
// Compute a unique ID for the element
|
// Compute a unique ID for the element
|
||||||
if ( !id )
|
if ( !id )
|
||||||
id = elem[ expando ] = ++uuid;
|
id = elem[ expando ] = ++uuid;
|
||||||
|
|
||||||
// Only generate the data cache if we're
|
// Only generate the data cache if we're
|
||||||
// trying to access or manipulate it
|
// trying to access or manipulate it
|
||||||
if ( name && !jQuery.cache[ id ] )
|
if ( name && !jQuery.cache[ id ] )
|
||||||
jQuery.cache[ id ] = {};
|
jQuery.cache[ id ] = {};
|
||||||
|
|
||||||
// Prevent overriding the named cache with undefined values
|
// Prevent overriding the named cache with undefined values
|
||||||
if ( data !== undefined )
|
if ( data !== undefined )
|
||||||
jQuery.cache[ id ][ name ] = data;
|
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 ?
|
return name ?
|
||||||
jQuery.cache[ id ][ name ] :
|
jQuery.cache[ id ][ name ] :
|
||||||
id;
|
id;
|
||||||
},
|
},
|
||||||
|
|
||||||
removeData: function( elem, name ) {
|
removeData: function( elem, name ) {
|
||||||
elem = elem == window ?
|
elem = elem == window ?
|
||||||
windowData :
|
windowData :
|
||||||
|
@ -717,7 +717,7 @@ jQuery.extend({
|
||||||
// args is for internal usage only
|
// args is for internal usage only
|
||||||
each: function( object, callback, args ) {
|
each: function( object, callback, args ) {
|
||||||
var name, i = 0, length = object.length;
|
var name, i = 0, length = object.length;
|
||||||
|
|
||||||
if ( args ) {
|
if ( args ) {
|
||||||
if ( length == undefined ) {
|
if ( length == undefined ) {
|
||||||
for ( name in object )
|
for ( name in object )
|
||||||
|
@ -735,18 +735,18 @@ jQuery.extend({
|
||||||
if ( callback.call( object[ name ], name, object[ name ] ) === false )
|
if ( callback.call( object[ name ], name, object[ name ] ) === false )
|
||||||
break;
|
break;
|
||||||
} else
|
} else
|
||||||
for ( var value = object[0];
|
for ( var value = object[0];
|
||||||
i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
|
i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
|
||||||
}
|
}
|
||||||
|
|
||||||
return object;
|
return object;
|
||||||
},
|
},
|
||||||
|
|
||||||
prop: function( elem, value, type, i, name ) {
|
prop: function( elem, value, type, i, name ) {
|
||||||
// Handle executable functions
|
// Handle executable functions
|
||||||
if ( jQuery.isFunction( value ) )
|
if ( jQuery.isFunction( value ) )
|
||||||
value = value.call( elem, i );
|
value = value.call( elem, i );
|
||||||
|
|
||||||
// Handle passing in a number to a CSS property
|
// Handle passing in a number to a CSS property
|
||||||
return value && value.constructor == Number && type == "curCSS" && !exclude.test( name ) ?
|
return value && value.constructor == Number && type == "curCSS" && !exclude.test( name ) ?
|
||||||
value + "px" :
|
value + "px" :
|
||||||
|
@ -767,7 +767,7 @@ jQuery.extend({
|
||||||
if (elem.nodeType == 1)
|
if (elem.nodeType == 1)
|
||||||
elem.className = classNames != undefined ?
|
elem.className = classNames != undefined ?
|
||||||
jQuery.grep(elem.className.split(/\s+/), function(className){
|
jQuery.grep(elem.className.split(/\s+/), function(className){
|
||||||
return !jQuery.className.has( classNames, className );
|
return !jQuery.className.has( classNames, className );
|
||||||
}).join(" ") :
|
}).join(" ") :
|
||||||
"";
|
"";
|
||||||
},
|
},
|
||||||
|
@ -797,7 +797,7 @@ jQuery.extend({
|
||||||
css: function( elem, name, force ) {
|
css: function( elem, name, force ) {
|
||||||
if ( name == "width" || name == "height" ) {
|
if ( name == "width" || name == "height" ) {
|
||||||
var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ];
|
var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ];
|
||||||
|
|
||||||
function getWH() {
|
function getWH() {
|
||||||
val = name == "width" ? elem.offsetWidth : elem.offsetHeight;
|
val = name == "width" ? elem.offsetWidth : elem.offsetHeight;
|
||||||
var padding = 0, border = 0;
|
var padding = 0, border = 0;
|
||||||
|
@ -807,15 +807,15 @@ jQuery.extend({
|
||||||
});
|
});
|
||||||
val -= Math.round(padding + border);
|
val -= Math.round(padding + border);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( jQuery(elem).is(":visible") )
|
if ( jQuery(elem).is(":visible") )
|
||||||
getWH();
|
getWH();
|
||||||
else
|
else
|
||||||
jQuery.swap( elem, props, getWH );
|
jQuery.swap( elem, props, getWH );
|
||||||
|
|
||||||
return Math.max(0, val);
|
return Math.max(0, val);
|
||||||
}
|
}
|
||||||
|
|
||||||
return jQuery.curCSS( elem, name, force );
|
return jQuery.curCSS( elem, name, force );
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -826,7 +826,7 @@ jQuery.extend({
|
||||||
function color( elem ) {
|
function color( elem ) {
|
||||||
if ( !jQuery.browser.safari )
|
if ( !jQuery.browser.safari )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// getComputedStyle is cached
|
// getComputedStyle is cached
|
||||||
var ret = getComputedStyle( elem, null );
|
var ret = getComputedStyle( elem, null );
|
||||||
return !ret || ret.getPropertyValue("color") == "";
|
return !ret || ret.getPropertyValue("color") == "";
|
||||||
|
@ -846,7 +846,7 @@ jQuery.extend({
|
||||||
style.outline = "0 solid black";
|
style.outline = "0 solid black";
|
||||||
style.outline = save;
|
style.outline = save;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure we're using the right name for getting the float value
|
// Make sure we're using the right name for getting the float value
|
||||||
if ( name.match( /float/i ) )
|
if ( name.match( /float/i ) )
|
||||||
name = styleFloat;
|
name = styleFloat;
|
||||||
|
@ -929,12 +929,12 @@ jQuery.extend({
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
},
|
},
|
||||||
|
|
||||||
clean: function( elems, context ) {
|
clean: function( elems, context ) {
|
||||||
var ret = [];
|
var ret = [];
|
||||||
context = context || document;
|
context = context || document;
|
||||||
// !context.createElement fails in IE with an error but returns typeof 'object'
|
// !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;
|
context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
|
||||||
|
|
||||||
jQuery.each(elems, function(i, elem){
|
jQuery.each(elems, function(i, elem){
|
||||||
|
@ -943,7 +943,7 @@ jQuery.extend({
|
||||||
|
|
||||||
if ( elem.constructor == Number )
|
if ( elem.constructor == Number )
|
||||||
elem += '';
|
elem += '';
|
||||||
|
|
||||||
// Convert html string into DOM nodes
|
// Convert html string into DOM nodes
|
||||||
if ( typeof elem == "string" ) {
|
if ( typeof elem == "string" ) {
|
||||||
// Fix "XHTML"-style tags in all browsers
|
// Fix "XHTML"-style tags in all browsers
|
||||||
|
@ -960,58 +960,58 @@ jQuery.extend({
|
||||||
// option or optgroup
|
// option or optgroup
|
||||||
!tags.indexOf("<opt") &&
|
!tags.indexOf("<opt") &&
|
||||||
[ 1, "<select multiple='multiple'>", "</select>" ] ||
|
[ 1, "<select multiple='multiple'>", "</select>" ] ||
|
||||||
|
|
||||||
!tags.indexOf("<leg") &&
|
!tags.indexOf("<leg") &&
|
||||||
[ 1, "<fieldset>", "</fieldset>" ] ||
|
[ 1, "<fieldset>", "</fieldset>" ] ||
|
||||||
|
|
||||||
tags.match(/^<(thead|tbody|tfoot|colg|cap)/) &&
|
tags.match(/^<(thead|tbody|tfoot|colg|cap)/) &&
|
||||||
[ 1, "<table>", "</table>" ] ||
|
[ 1, "<table>", "</table>" ] ||
|
||||||
|
|
||||||
!tags.indexOf("<tr") &&
|
!tags.indexOf("<tr") &&
|
||||||
[ 2, "<table><tbody>", "</tbody></table>" ] ||
|
[ 2, "<table><tbody>", "</tbody></table>" ] ||
|
||||||
|
|
||||||
// <thead> matched above
|
// <thead> matched above
|
||||||
(!tags.indexOf("<td") || !tags.indexOf("<th")) &&
|
(!tags.indexOf("<td") || !tags.indexOf("<th")) &&
|
||||||
[ 3, "<table><tbody><tr>", "</tr></tbody></table>" ] ||
|
[ 3, "<table><tbody><tr>", "</tr></tbody></table>" ] ||
|
||||||
|
|
||||||
!tags.indexOf("<col") &&
|
!tags.indexOf("<col") &&
|
||||||
[ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ] ||
|
[ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ] ||
|
||||||
|
|
||||||
// IE can't serialize <link> and <script> tags normally
|
// IE can't serialize <link> and <script> tags normally
|
||||||
jQuery.browser.msie &&
|
jQuery.browser.msie &&
|
||||||
[ 1, "div<div>", "</div>" ] ||
|
[ 1, "div<div>", "</div>" ] ||
|
||||||
|
|
||||||
[ 0, "", "" ];
|
[ 0, "", "" ];
|
||||||
|
|
||||||
// Go to html and back, then peel off extra wrappers
|
// Go to html and back, then peel off extra wrappers
|
||||||
div.innerHTML = wrap[1] + elem + wrap[2];
|
div.innerHTML = wrap[1] + elem + wrap[2];
|
||||||
|
|
||||||
// Move to the right depth
|
// Move to the right depth
|
||||||
while ( wrap[0]-- )
|
while ( wrap[0]-- )
|
||||||
div = div.lastChild;
|
div = div.lastChild;
|
||||||
|
|
||||||
// Remove IE's autoinserted <tbody> from table fragments
|
// Remove IE's autoinserted <tbody> from table fragments
|
||||||
if ( jQuery.browser.msie ) {
|
if ( jQuery.browser.msie ) {
|
||||||
|
|
||||||
// String was a <table>, *may* have spurious <tbody>
|
// String was a <table>, *may* have spurious <tbody>
|
||||||
var tbody = !tags.indexOf("<table") && tags.indexOf("<tbody") < 0 ?
|
var tbody = !tags.indexOf("<table") && tags.indexOf("<tbody") < 0 ?
|
||||||
div.firstChild && div.firstChild.childNodes :
|
div.firstChild && div.firstChild.childNodes :
|
||||||
|
|
||||||
// String was a bare <thead> or <tfoot>
|
// String was a bare <thead> or <tfoot>
|
||||||
wrap[1] == "<table>" && tags.indexOf("<tbody") < 0 ?
|
wrap[1] == "<table>" && tags.indexOf("<tbody") < 0 ?
|
||||||
div.childNodes :
|
div.childNodes :
|
||||||
[];
|
[];
|
||||||
|
|
||||||
for ( var j = tbody.length - 1; j >= 0 ; --j )
|
for ( var j = tbody.length - 1; j >= 0 ; --j )
|
||||||
if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length )
|
if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length )
|
||||||
tbody[ j ].parentNode.removeChild( tbody[ j ] );
|
tbody[ j ].parentNode.removeChild( tbody[ j ] );
|
||||||
|
|
||||||
// IE completely kills leading whitespace when innerHTML is used
|
// IE completely kills leading whitespace when innerHTML is used
|
||||||
if ( /^\s/.test( elem ) )
|
if ( /^\s/.test( elem ) )
|
||||||
div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), div.firstChild );
|
div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), div.firstChild );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
elem = jQuery.makeArray( div.childNodes );
|
elem = jQuery.makeArray( div.childNodes );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1078,7 +1078,7 @@ jQuery.extend({
|
||||||
// convert the value to a string (all browsers do this but IE) see #1070
|
// convert the value to a string (all browsers do this but IE) see #1070
|
||||||
elem.setAttribute( name, "" + value );
|
elem.setAttribute( name, "" + value );
|
||||||
|
|
||||||
if ( msie && special && notxml )
|
if ( msie && special && notxml )
|
||||||
return elem.getAttribute( name, 2 );
|
return elem.getAttribute( name, 2 );
|
||||||
|
|
||||||
return elem.getAttribute( name );
|
return elem.getAttribute( name );
|
||||||
|
@ -1092,7 +1092,7 @@ jQuery.extend({
|
||||||
if ( set ) {
|
if ( set ) {
|
||||||
// IE has trouble with opacity if it does not have layout
|
// IE has trouble with opacity if it does not have layout
|
||||||
// Force it by setting the zoom level
|
// Force it by setting the zoom level
|
||||||
elem.zoom = 1;
|
elem.zoom = 1;
|
||||||
|
|
||||||
// Set the alpha filter to set the opacity
|
// Set the alpha filter to set the opacity
|
||||||
elem.filter = (elem.filter || "").replace( /alpha\([^)]*\)/, "" ) +
|
elem.filter = (elem.filter || "").replace( /alpha\([^)]*\)/, "" ) +
|
||||||
|
@ -1113,7 +1113,7 @@ jQuery.extend({
|
||||||
|
|
||||||
return elem[ name ];
|
return elem[ name ];
|
||||||
},
|
},
|
||||||
|
|
||||||
trim: function( text ) {
|
trim: function( text ) {
|
||||||
return (text || "").replace( /^\s+|\s+$/g, "" );
|
return (text || "").replace( /^\s+|\s+$/g, "" );
|
||||||
},
|
},
|
||||||
|
@ -1224,11 +1224,11 @@ jQuery.browser = {
|
||||||
var styleFloat = jQuery.browser.msie ?
|
var styleFloat = jQuery.browser.msie ?
|
||||||
"styleFloat" :
|
"styleFloat" :
|
||||||
"cssFloat";
|
"cssFloat";
|
||||||
|
|
||||||
jQuery.extend({
|
jQuery.extend({
|
||||||
// Check to see if the W3C box model is being used
|
// Check to see if the W3C box model is being used
|
||||||
boxModel: !jQuery.browser.msie || document.compatMode == "CSS1Compat",
|
boxModel: !jQuery.browser.msie || document.compatMode == "CSS1Compat",
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
"for": "htmlFor",
|
"for": "htmlFor",
|
||||||
"class": "className",
|
"class": "className",
|
||||||
|
@ -1282,7 +1282,7 @@ jQuery.each({
|
||||||
jQuery.each({
|
jQuery.each({
|
||||||
removeAttr: function( name ) {
|
removeAttr: function( name ) {
|
||||||
jQuery.attr( this, name, "" );
|
jQuery.attr( this, name, "" );
|
||||||
if (this.nodeType == 1)
|
if (this.nodeType == 1)
|
||||||
this.removeAttribute( name );
|
this.removeAttribute( name );
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -1313,7 +1313,7 @@ jQuery.each({
|
||||||
empty: function() {
|
empty: function() {
|
||||||
// Remove element nodes and prevent memory leaks
|
// Remove element nodes and prevent memory leaks
|
||||||
jQuery( ">*", this ).remove();
|
jQuery( ">*", this ).remove();
|
||||||
|
|
||||||
// Remove any remaining nodes
|
// Remove any remaining nodes
|
||||||
while ( this.firstChild )
|
while ( this.firstChild )
|
||||||
this.removeChild( this.firstChild );
|
this.removeChild( this.firstChild );
|
||||||
|
@ -1326,25 +1326,25 @@ jQuery.each({
|
||||||
|
|
||||||
jQuery.each([ "Height", "Width" ], function(i, name){
|
jQuery.each([ "Height", "Width" ], function(i, name){
|
||||||
var type = name.toLowerCase();
|
var type = name.toLowerCase();
|
||||||
|
|
||||||
jQuery.fn[ type ] = function( size ) {
|
jQuery.fn[ type ] = function( size ) {
|
||||||
// Get window width or height
|
// Get window width or height
|
||||||
return this[0] == window ?
|
return this[0] == window ?
|
||||||
// Opera reports document.body.client[Width/Height] properly in both quirks and standards
|
// Opera reports document.body.client[Width/Height] properly in both quirks and standards
|
||||||
jQuery.browser.opera && document.body[ "client" + name ] ||
|
jQuery.browser.opera && document.body[ "client" + name ] ||
|
||||||
|
|
||||||
// Safari reports inner[Width/Height] just fine (Mozilla and Opera include scroll bar widths)
|
// Safari reports inner[Width/Height] just fine (Mozilla and Opera include scroll bar widths)
|
||||||
jQuery.browser.safari && window[ "inner" + name ] ||
|
jQuery.browser.safari && window[ "inner" + name ] ||
|
||||||
|
|
||||||
// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
|
// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
|
||||||
document.compatMode == "CSS1Compat" && document.documentElement[ "client" + name ] || document.body[ "client" + name ] :
|
document.compatMode == "CSS1Compat" && document.documentElement[ "client" + name ] || document.body[ "client" + name ] :
|
||||||
|
|
||||||
// Get document width or height
|
// Get document width or height
|
||||||
this[0] == document ?
|
this[0] == document ?
|
||||||
// Either scroll[Width/Height] or offset[Width/Height], whichever is greater
|
// Either scroll[Width/Height] or offset[Width/Height], whichever is greater
|
||||||
Math.max(
|
Math.max(
|
||||||
Math.max(document.body["scroll" + name], document.documentElement["scroll" + name]),
|
Math.max(document.body["scroll" + name], document.documentElement["scroll" + name]),
|
||||||
Math.max(document.body["offset" + name], document.documentElement["offset" + name])
|
Math.max(document.body["offset" + name], document.documentElement["offset" + name])
|
||||||
) :
|
) :
|
||||||
|
|
||||||
// Get or set width or height on the element
|
// Get or set width or height on the element
|
||||||
|
|
|
@ -3,23 +3,23 @@ jQuery.each([ "Height", "Width" ], function(i, name){
|
||||||
|
|
||||||
var tl = name == "Height" ? "Top" : "Left", // top or left
|
var tl = name == "Height" ? "Top" : "Left", // top or left
|
||||||
br = name == "Height" ? "Bottom" : "Right"; // bottom or right
|
br = name == "Height" ? "Bottom" : "Right"; // bottom or right
|
||||||
|
|
||||||
// innerHeight and innerWidth
|
// innerHeight and innerWidth
|
||||||
jQuery.fn["inner" + name] = function(){
|
jQuery.fn["inner" + name] = function(){
|
||||||
return this[ name.toLowerCase() ]() +
|
return this[ name.toLowerCase() ]() +
|
||||||
num(this, "padding" + tl) +
|
num(this, "padding" + tl) +
|
||||||
num(this, "padding" + br);
|
num(this, "padding" + br);
|
||||||
};
|
};
|
||||||
|
|
||||||
// outerHeight and outerWidth
|
// outerHeight and outerWidth
|
||||||
jQuery.fn["outer" + name] = function(margin) {
|
jQuery.fn["outer" + name] = function(margin) {
|
||||||
return this["inner" + name]() +
|
return this["inner" + name]() +
|
||||||
num(this, "border" + tl + "Width") +
|
num(this, "border" + tl + "Width") +
|
||||||
num(this, "border" + br + "Width") +
|
num(this, "border" + br + "Width") +
|
||||||
(!!margin ?
|
(!!margin ?
|
||||||
num(this, "margin" + tl) + num(this, "margin" + br) : 0);
|
num(this, "margin" + tl) + num(this, "margin" + br) : 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function num(elem, prop) {
|
function num(elem, prop) {
|
||||||
|
|
120
src/event.js
120
src/event.js
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* A number of helper functions used for managing events.
|
* A number of helper functions used for managing events.
|
||||||
* Many of the ideas behind this code orignated from
|
* Many of the ideas behind this code orignated from
|
||||||
* Dean Edwards' addEvent library.
|
* Dean Edwards' addEvent library.
|
||||||
*/
|
*/
|
||||||
jQuery.event = {
|
jQuery.event = {
|
||||||
|
@ -19,19 +19,19 @@ jQuery.event = {
|
||||||
// Make sure that the function being executed has a unique ID
|
// Make sure that the function being executed has a unique ID
|
||||||
if ( !handler.guid )
|
if ( !handler.guid )
|
||||||
handler.guid = this.guid++;
|
handler.guid = this.guid++;
|
||||||
|
|
||||||
// if data is passed, bind to handler
|
|
||||||
if( data != undefined ) {
|
|
||||||
// Create temporary function pointer to original handler
|
|
||||||
var fn = handler;
|
|
||||||
|
|
||||||
// Create unique handler function, wrapped around original handler
|
// if data is passed, bind to handler
|
||||||
handler = this.proxy( fn, function() {
|
if( data != undefined ) {
|
||||||
// Pass arguments and context to original handler
|
// Create temporary function pointer to original handler
|
||||||
return fn.apply(this, arguments);
|
var fn = handler;
|
||||||
|
|
||||||
|
// Create unique handler function, wrapped around original handler
|
||||||
|
handler = this.proxy( fn, function() {
|
||||||
|
// Pass arguments and context to original handler
|
||||||
|
return fn.apply(this, arguments);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Store data in unique handler
|
// Store data in unique handler
|
||||||
handler.data = data;
|
handler.data = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ jQuery.event = {
|
||||||
// This is to prevent a memory leak with non-native
|
// This is to prevent a memory leak with non-native
|
||||||
// event in IE.
|
// event in IE.
|
||||||
handle.elem = elem;
|
handle.elem = elem;
|
||||||
|
|
||||||
// Handle multiple events separated by a space
|
// Handle multiple events separated by a space
|
||||||
// jQuery(...).bind("mouseover mouseout", fn);
|
// jQuery(...).bind("mouseover mouseout", fn);
|
||||||
jQuery.each(types.split(/\s+/), function(index, type) {
|
jQuery.each(types.split(/\s+/), function(index, type) {
|
||||||
|
@ -62,7 +62,7 @@ jQuery.event = {
|
||||||
// Init the event handler queue
|
// Init the event handler queue
|
||||||
if (!handlers) {
|
if (!handlers) {
|
||||||
handlers = events[type] = {};
|
handlers = events[type] = {};
|
||||||
|
|
||||||
// Check for a special event handler
|
// Check for a special event handler
|
||||||
// Only use addEventListener/attachEvent if the special
|
// Only use addEventListener/attachEvent if the special
|
||||||
// events handler returns false
|
// events handler returns false
|
||||||
|
@ -81,7 +81,7 @@ jQuery.event = {
|
||||||
// Keep track of which events have been used, for global triggering
|
// Keep track of which events have been used, for global triggering
|
||||||
jQuery.event.global[type] = true;
|
jQuery.event.global[type] = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Nullify elem to prevent memory leaks in IE
|
// Nullify elem to prevent memory leaks in IE
|
||||||
elem = null;
|
elem = null;
|
||||||
},
|
},
|
||||||
|
@ -108,19 +108,19 @@ jQuery.event = {
|
||||||
handler = types.handler;
|
handler = types.handler;
|
||||||
types = types.type;
|
types = types.type;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle multiple events seperated by a space
|
// Handle multiple events seperated by a space
|
||||||
// jQuery(...).unbind("mouseover mouseout", fn);
|
// jQuery(...).unbind("mouseover mouseout", fn);
|
||||||
jQuery.each(types.split(/\s+/), function(index, type){
|
jQuery.each(types.split(/\s+/), function(index, type){
|
||||||
// Namespaced event handlers
|
// Namespaced event handlers
|
||||||
var parts = type.split(".");
|
var parts = type.split(".");
|
||||||
type = parts[0];
|
type = parts[0];
|
||||||
|
|
||||||
if ( events[type] ) {
|
if ( events[type] ) {
|
||||||
// remove the given handler for the given type
|
// remove the given handler for the given type
|
||||||
if ( handler )
|
if ( handler )
|
||||||
delete events[type][handler.guid];
|
delete events[type][handler.guid];
|
||||||
|
|
||||||
// remove all handlers for the given type
|
// remove all handlers for the given type
|
||||||
else
|
else
|
||||||
for ( handler in events[type] )
|
for ( handler in events[type] )
|
||||||
|
@ -179,14 +179,14 @@ jQuery.event = {
|
||||||
var val, ret, fn = jQuery.isFunction( elem[ type ] || null ),
|
var val, ret, fn = jQuery.isFunction( elem[ type ] || null ),
|
||||||
// Check to see if we need to provide a fake event, or not
|
// Check to see if we need to provide a fake event, or not
|
||||||
event = !data[0] || !data[0].preventDefault;
|
event = !data[0] || !data[0].preventDefault;
|
||||||
|
|
||||||
// Pass along a fake event
|
// Pass along a fake event
|
||||||
if ( event ) {
|
if ( event ) {
|
||||||
data.unshift({
|
data.unshift({
|
||||||
type: type,
|
type: type,
|
||||||
target: elem,
|
target: elem,
|
||||||
preventDefault: function(){},
|
preventDefault: function(){},
|
||||||
stopPropagation: function(){},
|
stopPropagation: function(){},
|
||||||
timeStamp: now()
|
timeStamp: now()
|
||||||
});
|
});
|
||||||
data[0][expando] = true; // no need to fix fake event
|
data[0][expando] = true; // no need to fix fake event
|
||||||
|
@ -198,8 +198,8 @@ jQuery.event = {
|
||||||
data[0].exclusive = true;
|
data[0].exclusive = true;
|
||||||
|
|
||||||
// Trigger the event, it is assumed that "handle" is a function
|
// Trigger the event, it is assumed that "handle" is a function
|
||||||
var handle = jQuery.data(elem, "handle");
|
var handle = jQuery.data(elem, "handle");
|
||||||
if ( handle )
|
if ( handle )
|
||||||
val = handle.apply( elem, data );
|
val = handle.apply( elem, data );
|
||||||
|
|
||||||
// Handle triggering native .onfoo handlers (and on links since we don't call .click() for links)
|
// Handle triggering native .onfoo handlers (and on links since we don't call .click() for links)
|
||||||
|
@ -258,7 +258,7 @@ jQuery.event = {
|
||||||
// So that we can later remove it
|
// So that we can later remove it
|
||||||
event.handler = handler;
|
event.handler = handler;
|
||||||
event.data = handler.data;
|
event.data = handler.data;
|
||||||
|
|
||||||
ret = handler.apply( this, arguments );
|
ret = handler.apply( this, arguments );
|
||||||
|
|
||||||
if ( val !== false )
|
if ( val !== false )
|
||||||
|
@ -275,21 +275,21 @@ jQuery.event = {
|
||||||
},
|
},
|
||||||
|
|
||||||
fix: function(event) {
|
fix: function(event) {
|
||||||
if ( event[expando] == true )
|
if ( event[expando] == true )
|
||||||
return event;
|
return event;
|
||||||
|
|
||||||
// store a copy of the original event object
|
// store a copy of the original event object
|
||||||
// and "clone" to set read-only properties
|
// and "clone" to set read-only properties
|
||||||
var originalEvent = event;
|
var originalEvent = event;
|
||||||
event = { originalEvent: originalEvent };
|
event = { originalEvent: originalEvent };
|
||||||
var props = "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");
|
var props = "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");
|
||||||
for ( var i=props.length; i; i-- )
|
for ( var i=props.length; i; i-- )
|
||||||
event[ props[i] ] = originalEvent[ props[i] ];
|
event[ props[i] ] = originalEvent[ props[i] ];
|
||||||
|
|
||||||
// Mark it as fixed
|
// Mark it as fixed
|
||||||
event[expando] = true;
|
event[expando] = true;
|
||||||
|
|
||||||
// add preventDefault and stopPropagation since
|
// add preventDefault and stopPropagation since
|
||||||
// they will not work on the clone
|
// they will not work on the clone
|
||||||
event.preventDefault = function() {
|
event.preventDefault = function() {
|
||||||
// if preventDefault exists run it on the original event
|
// if preventDefault exists run it on the original event
|
||||||
|
@ -305,14 +305,14 @@ jQuery.event = {
|
||||||
// otherwise set the cancelBubble property of the original event to true (IE)
|
// otherwise set the cancelBubble property of the original event to true (IE)
|
||||||
originalEvent.cancelBubble = true;
|
originalEvent.cancelBubble = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Fix timeStamp
|
// Fix timeStamp
|
||||||
event.timeStamp = event.timeStamp || now();
|
event.timeStamp = event.timeStamp || now();
|
||||||
|
|
||||||
// Fix target property, if necessary
|
// Fix target property, if necessary
|
||||||
if ( !event.target )
|
if ( !event.target )
|
||||||
event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either
|
event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either
|
||||||
|
|
||||||
// check if target is a textnode (safari)
|
// check if target is a textnode (safari)
|
||||||
if ( event.target.nodeType == 3 )
|
if ( event.target.nodeType == 3 )
|
||||||
event.target = event.target.parentNode;
|
event.target = event.target.parentNode;
|
||||||
|
@ -327,11 +327,11 @@ jQuery.event = {
|
||||||
event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0);
|
event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0);
|
||||||
event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0);
|
event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add which for key events
|
// Add which for key events
|
||||||
if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) )
|
if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) )
|
||||||
event.which = event.charCode || event.keyCode;
|
event.which = event.charCode || event.keyCode;
|
||||||
|
|
||||||
// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
|
// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
|
||||||
if ( !event.metaKey && event.ctrlKey )
|
if ( !event.metaKey && event.ctrlKey )
|
||||||
event.metaKey = event.ctrlKey;
|
event.metaKey = event.ctrlKey;
|
||||||
|
@ -340,17 +340,17 @@ jQuery.event = {
|
||||||
// Note: button is not normalized, so don't use it
|
// Note: button is not normalized, so don't use it
|
||||||
if ( !event.which && event.button )
|
if ( !event.which && event.button )
|
||||||
event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
|
event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
|
||||||
|
|
||||||
return event;
|
return event;
|
||||||
},
|
},
|
||||||
|
|
||||||
proxy: function( fn, proxy ){
|
proxy: function( fn, proxy ){
|
||||||
// Set the guid of unique handler to the same of original handler, so it can be removed
|
// Set the guid of unique handler to the same of original handler, so it can be removed
|
||||||
proxy.guid = fn.guid = fn.guid || proxy.guid || this.guid++;
|
proxy.guid = fn.guid = fn.guid || proxy.guid || this.guid++;
|
||||||
// So proxy can be declared as an argument
|
// So proxy can be declared as an argument
|
||||||
return proxy;
|
return proxy;
|
||||||
},
|
},
|
||||||
|
|
||||||
special: {
|
special: {
|
||||||
ready: {
|
ready: {
|
||||||
setup: function() {
|
setup: function() {
|
||||||
|
@ -358,23 +358,23 @@ jQuery.event = {
|
||||||
bindReady();
|
bindReady();
|
||||||
return;
|
return;
|
||||||
},
|
},
|
||||||
|
|
||||||
teardown: function() { return; }
|
teardown: function() { return; }
|
||||||
},
|
},
|
||||||
|
|
||||||
mouseenter: {
|
mouseenter: {
|
||||||
setup: function() {
|
setup: function() {
|
||||||
if ( jQuery.browser.msie ) return false;
|
if ( jQuery.browser.msie ) return false;
|
||||||
jQuery(this).bind("mouseover", jQuery.event.special.mouseenter.handler);
|
jQuery(this).bind("mouseover", jQuery.event.special.mouseenter.handler);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
teardown: function() {
|
teardown: function() {
|
||||||
if ( jQuery.browser.msie ) return false;
|
if ( jQuery.browser.msie ) return false;
|
||||||
jQuery(this).unbind("mouseover", jQuery.event.special.mouseenter.handler);
|
jQuery(this).unbind("mouseover", jQuery.event.special.mouseenter.handler);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
handler: function(event) {
|
handler: function(event) {
|
||||||
// If we actually just moused on to a sub-element, ignore it
|
// If we actually just moused on to a sub-element, ignore it
|
||||||
if ( withinElement(event, this) ) return true;
|
if ( withinElement(event, this) ) return true;
|
||||||
|
@ -383,20 +383,20 @@ jQuery.event = {
|
||||||
return jQuery.event.handle.apply(this, arguments);
|
return jQuery.event.handle.apply(this, arguments);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
mouseleave: {
|
mouseleave: {
|
||||||
setup: function() {
|
setup: function() {
|
||||||
if ( jQuery.browser.msie ) return false;
|
if ( jQuery.browser.msie ) return false;
|
||||||
jQuery(this).bind("mouseout", jQuery.event.special.mouseleave.handler);
|
jQuery(this).bind("mouseout", jQuery.event.special.mouseleave.handler);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
teardown: function() {
|
teardown: function() {
|
||||||
if ( jQuery.browser.msie ) return false;
|
if ( jQuery.browser.msie ) return false;
|
||||||
jQuery(this).unbind("mouseout", jQuery.event.special.mouseleave.handler);
|
jQuery(this).unbind("mouseout", jQuery.event.special.mouseleave.handler);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
handler: function(event) {
|
handler: function(event) {
|
||||||
// If we actually just moused on to a sub-element, ignore it
|
// If we actually just moused on to a sub-element, ignore it
|
||||||
if ( withinElement(event, this) ) return true;
|
if ( withinElement(event, this) ) return true;
|
||||||
|
@ -414,7 +414,7 @@ jQuery.fn.extend({
|
||||||
jQuery.event.add( this, type, fn || data, fn && data );
|
jQuery.event.add( this, type, fn || data, fn && data );
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
one: function( type, data, fn ) {
|
one: function( type, data, fn ) {
|
||||||
var one = jQuery.event.proxy( fn || data, function(event) {
|
var one = jQuery.event.proxy( fn || data, function(event) {
|
||||||
jQuery(this).unbind(event, one);
|
jQuery(this).unbind(event, one);
|
||||||
|
@ -452,10 +452,10 @@ jQuery.fn.extend({
|
||||||
return this.click( jQuery.event.proxy( fn, function(event) {
|
return this.click( jQuery.event.proxy( fn, function(event) {
|
||||||
// Figure out which function to execute
|
// Figure out which function to execute
|
||||||
this.lastToggle = ( this.lastToggle || 0 ) % i;
|
this.lastToggle = ( this.lastToggle || 0 ) % i;
|
||||||
|
|
||||||
// Make sure that clicks stop
|
// Make sure that clicks stop
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
// and execute the function
|
// and execute the function
|
||||||
return args[ this.lastToggle++ ].apply( this, arguments ) || false;
|
return args[ this.lastToggle++ ].apply( this, arguments ) || false;
|
||||||
}));
|
}));
|
||||||
|
@ -464,7 +464,7 @@ jQuery.fn.extend({
|
||||||
hover: function(fnOver, fnOut) {
|
hover: function(fnOver, fnOut) {
|
||||||
return this.bind('mouseenter', fnOver).bind('mouseleave', fnOut);
|
return this.bind('mouseenter', fnOver).bind('mouseleave', fnOut);
|
||||||
},
|
},
|
||||||
|
|
||||||
ready: function(fn) {
|
ready: function(fn) {
|
||||||
// Attach the listeners
|
// Attach the listeners
|
||||||
bindReady();
|
bindReady();
|
||||||
|
@ -473,12 +473,12 @@ jQuery.fn.extend({
|
||||||
if ( jQuery.isReady )
|
if ( jQuery.isReady )
|
||||||
// Execute the function immediately
|
// Execute the function immediately
|
||||||
fn.call( document, jQuery );
|
fn.call( document, jQuery );
|
||||||
|
|
||||||
// Otherwise, remember the function for later
|
// Otherwise, remember the function for later
|
||||||
else
|
else
|
||||||
// Add the function to the wait list
|
// Add the function to the wait list
|
||||||
jQuery.readyList.push( function() { return fn.call(this, jQuery); } );
|
jQuery.readyList.push( function() { return fn.call(this, jQuery); } );
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -492,18 +492,18 @@ jQuery.extend({
|
||||||
if ( !jQuery.isReady ) {
|
if ( !jQuery.isReady ) {
|
||||||
// Remember that the DOM is ready
|
// Remember that the DOM is ready
|
||||||
jQuery.isReady = true;
|
jQuery.isReady = true;
|
||||||
|
|
||||||
// If there are functions bound, to execute
|
// If there are functions bound, to execute
|
||||||
if ( jQuery.readyList ) {
|
if ( jQuery.readyList ) {
|
||||||
// Execute all of them
|
// Execute all of them
|
||||||
jQuery.each( jQuery.readyList, function(){
|
jQuery.each( jQuery.readyList, function(){
|
||||||
this.call( document );
|
this.call( document );
|
||||||
});
|
});
|
||||||
|
|
||||||
// Reset the list of functions
|
// Reset the list of functions
|
||||||
jQuery.readyList = null;
|
jQuery.readyList = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trigger any bound ready events
|
// Trigger any bound ready events
|
||||||
jQuery(document).triggerHandler("ready");
|
jQuery(document).triggerHandler("ready");
|
||||||
}
|
}
|
||||||
|
@ -520,7 +520,7 @@ function bindReady(){
|
||||||
if ( document.addEventListener && !jQuery.browser.opera)
|
if ( document.addEventListener && !jQuery.browser.opera)
|
||||||
// Use the handy event callback
|
// Use the handy event callback
|
||||||
document.addEventListener( "DOMContentLoaded", jQuery.ready, false );
|
document.addEventListener( "DOMContentLoaded", jQuery.ready, false );
|
||||||
|
|
||||||
// If IE is used and is not in a frame
|
// If IE is used and is not in a frame
|
||||||
// Continually check to see if the document is ready
|
// Continually check to see if the document is ready
|
||||||
if ( jQuery.browser.msie && window == top ) (function(){
|
if ( jQuery.browser.msie && window == top ) (function(){
|
||||||
|
@ -573,9 +573,9 @@ function bindReady(){
|
||||||
}
|
}
|
||||||
|
|
||||||
jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," +
|
jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," +
|
||||||
"mousedown,mouseup,mousemove,mouseover,mouseout,change,select," +
|
"mousedown,mouseup,mousemove,mouseover,mouseout,change,select," +
|
||||||
"submit,keydown,keypress,keyup,error").split(","), function(i, name){
|
"submit,keydown,keypress,keyup,error").split(","), function(i, name){
|
||||||
|
|
||||||
// Handle event binding
|
// Handle event binding
|
||||||
jQuery.fn[name] = function(fn){
|
jQuery.fn[name] = function(fn){
|
||||||
return fn ? this.bind(name, fn) : this.trigger(name);
|
return fn ? this.bind(name, fn) : this.trigger(name);
|
||||||
|
|
64
src/fx.js
64
src/fx.js
|
@ -4,7 +4,7 @@ jQuery.fn.extend({
|
||||||
this.animate({
|
this.animate({
|
||||||
height: "show", width: "show", opacity: "show"
|
height: "show", width: "show", opacity: "show"
|
||||||
}, speed, callback) :
|
}, speed, callback) :
|
||||||
|
|
||||||
this.filter(":hidden").each(function(){
|
this.filter(":hidden").each(function(){
|
||||||
this.style.display = this.oldblock || "";
|
this.style.display = this.oldblock || "";
|
||||||
if ( jQuery.css(this,"display") == "none" ) {
|
if ( jQuery.css(this,"display") == "none" ) {
|
||||||
|
@ -17,13 +17,13 @@ jQuery.fn.extend({
|
||||||
}
|
}
|
||||||
}).end();
|
}).end();
|
||||||
},
|
},
|
||||||
|
|
||||||
hide: function(speed,callback){
|
hide: function(speed,callback){
|
||||||
return speed ?
|
return speed ?
|
||||||
this.animate({
|
this.animate({
|
||||||
height: "hide", width: "hide", opacity: "hide"
|
height: "hide", width: "hide", opacity: "hide"
|
||||||
}, speed, callback) :
|
}, speed, callback) :
|
||||||
|
|
||||||
this.filter(":visible").each(function(){
|
this.filter(":visible").each(function(){
|
||||||
this.oldblock = this.oldblock || jQuery.css(this,"display");
|
this.oldblock = this.oldblock || jQuery.css(this,"display");
|
||||||
this.style.display = "none";
|
this.style.display = "none";
|
||||||
|
@ -32,7 +32,7 @@ jQuery.fn.extend({
|
||||||
|
|
||||||
// Save the old toggle function
|
// Save the old toggle function
|
||||||
_toggle: jQuery.fn.toggle,
|
_toggle: jQuery.fn.toggle,
|
||||||
|
|
||||||
toggle: function( fn, fn2 ){
|
toggle: function( fn, fn2 ){
|
||||||
return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?
|
return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?
|
||||||
this._toggle.apply( this, arguments ) :
|
this._toggle.apply( this, arguments ) :
|
||||||
|
@ -44,11 +44,11 @@ jQuery.fn.extend({
|
||||||
jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
|
jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
slideDown: function(speed,callback){
|
slideDown: function(speed,callback){
|
||||||
return this.animate({height: "show"}, speed, callback);
|
return this.animate({height: "show"}, speed, callback);
|
||||||
},
|
},
|
||||||
|
|
||||||
slideUp: function(speed,callback){
|
slideUp: function(speed,callback){
|
||||||
return this.animate({height: "hide"}, speed, callback);
|
return this.animate({height: "hide"}, speed, callback);
|
||||||
},
|
},
|
||||||
|
@ -56,19 +56,19 @@ jQuery.fn.extend({
|
||||||
slideToggle: function(speed, callback){
|
slideToggle: function(speed, callback){
|
||||||
return this.animate({height: "toggle"}, speed, callback);
|
return this.animate({height: "toggle"}, speed, callback);
|
||||||
},
|
},
|
||||||
|
|
||||||
fadeIn: function(speed, callback){
|
fadeIn: function(speed, callback){
|
||||||
return this.animate({opacity: "show"}, speed, callback);
|
return this.animate({opacity: "show"}, speed, callback);
|
||||||
},
|
},
|
||||||
|
|
||||||
fadeOut: function(speed, callback){
|
fadeOut: function(speed, callback){
|
||||||
return this.animate({opacity: "hide"}, speed, callback);
|
return this.animate({opacity: "hide"}, speed, callback);
|
||||||
},
|
},
|
||||||
|
|
||||||
fadeTo: function(speed,to,callback){
|
fadeTo: function(speed,to,callback){
|
||||||
return this.animate({opacity: to}, speed, callback);
|
return this.animate({opacity: to}, speed, callback);
|
||||||
},
|
},
|
||||||
|
|
||||||
animate: function( prop, speed, easing, callback ) {
|
animate: function( prop, speed, easing, callback ) {
|
||||||
var optall = jQuery.speed(speed, easing, callback);
|
var optall = jQuery.speed(speed, easing, callback);
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ jQuery.fn.extend({
|
||||||
|
|
||||||
var opt = jQuery.extend({}, optall), p,
|
var opt = jQuery.extend({}, optall), p,
|
||||||
hidden = jQuery(this).is(":hidden"), self = this;
|
hidden = jQuery(this).is(":hidden"), self = this;
|
||||||
|
|
||||||
for ( p in prop ) {
|
for ( p in prop ) {
|
||||||
if ( prop[p] == "hide" && hidden || prop[p] == "show" && !hidden )
|
if ( prop[p] == "hide" && hidden || prop[p] == "show" && !hidden )
|
||||||
return jQuery.isFunction(opt.complete) && opt.complete.call(this);
|
return jQuery.isFunction(opt.complete) && opt.complete.call(this);
|
||||||
|
@ -96,7 +96,7 @@ jQuery.fn.extend({
|
||||||
this.style.overflow = "hidden";
|
this.style.overflow = "hidden";
|
||||||
|
|
||||||
opt.curAnim = jQuery.extend({}, prop);
|
opt.curAnim = jQuery.extend({}, prop);
|
||||||
|
|
||||||
jQuery.each( prop, function(name, val){
|
jQuery.each( prop, function(name, val){
|
||||||
var e = new jQuery.fx( self, opt, name );
|
var e = new jQuery.fx( self, opt, name );
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ jQuery.fn.extend({
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
queue: function(type, fn){
|
queue: function(type, fn){
|
||||||
if ( jQuery.isFunction(type) || ( type && type.constructor == Array )) {
|
if ( jQuery.isFunction(type) || ( type && type.constructor == Array )) {
|
||||||
fn = type;
|
fn = type;
|
||||||
|
@ -146,7 +146,7 @@ jQuery.fn.extend({
|
||||||
queue(this, type, fn);
|
queue(this, type, fn);
|
||||||
else {
|
else {
|
||||||
queue(this, type).push( fn );
|
queue(this, type).push( fn );
|
||||||
|
|
||||||
if ( queue(this, type).length == 1 )
|
if ( queue(this, type).length == 1 )
|
||||||
fn.call(this);
|
fn.call(this);
|
||||||
}
|
}
|
||||||
|
@ -181,11 +181,11 @@ jQuery.fn.extend({
|
||||||
|
|
||||||
var queue = function( elem, type, array ) {
|
var queue = function( elem, type, array ) {
|
||||||
if ( elem ){
|
if ( elem ){
|
||||||
|
|
||||||
type = type || "fx";
|
type = type || "fx";
|
||||||
|
|
||||||
var q = jQuery.data( elem, type + "queue" );
|
var q = jQuery.data( elem, type + "queue" );
|
||||||
|
|
||||||
if ( !q || array )
|
if ( !q || array )
|
||||||
q = jQuery.data( elem, type + "queue", jQuery.makeArray(array) );
|
q = jQuery.data( elem, type + "queue", jQuery.makeArray(array) );
|
||||||
|
|
||||||
|
@ -207,19 +207,19 @@ jQuery.fn.dequeue = function(type){
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery.extend({
|
jQuery.extend({
|
||||||
|
|
||||||
speed: function(speed, easing, fn) {
|
speed: function(speed, easing, fn) {
|
||||||
var opt = speed && speed.constructor == Object ? speed : {
|
var opt = speed && speed.constructor == Object ? speed : {
|
||||||
complete: fn || !fn && easing ||
|
complete: fn || !fn && easing ||
|
||||||
jQuery.isFunction( speed ) && speed,
|
jQuery.isFunction( speed ) && speed,
|
||||||
duration: speed,
|
duration: speed,
|
||||||
easing: fn && easing || easing && easing.constructor != Function && easing
|
easing: fn && easing || easing && easing.constructor != Function && easing
|
||||||
};
|
};
|
||||||
|
|
||||||
opt.duration = (opt.duration && opt.duration.constructor == Number ?
|
opt.duration = (opt.duration && opt.duration.constructor == Number ?
|
||||||
opt.duration :
|
opt.duration :
|
||||||
jQuery.fx.speeds[opt.duration]) || jQuery.fx.speeds.def;
|
jQuery.fx.speeds[opt.duration]) || jQuery.fx.speeds.def;
|
||||||
|
|
||||||
// Queueing
|
// Queueing
|
||||||
opt.old = opt.complete;
|
opt.old = opt.complete;
|
||||||
opt.complete = function(){
|
opt.complete = function(){
|
||||||
|
@ -228,10 +228,10 @@ jQuery.extend({
|
||||||
if ( jQuery.isFunction( opt.old ) )
|
if ( jQuery.isFunction( opt.old ) )
|
||||||
opt.old.call( this );
|
opt.old.call( this );
|
||||||
};
|
};
|
||||||
|
|
||||||
return opt;
|
return opt;
|
||||||
},
|
},
|
||||||
|
|
||||||
easing: {
|
easing: {
|
||||||
linear: function( p, n, firstNum, diff ) {
|
linear: function( p, n, firstNum, diff ) {
|
||||||
return firstNum + diff * p;
|
return firstNum + diff * p;
|
||||||
|
@ -240,7 +240,7 @@ jQuery.extend({
|
||||||
return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;
|
return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
timers: [],
|
timers: [],
|
||||||
timerId: null,
|
timerId: null,
|
||||||
|
|
||||||
|
@ -300,7 +300,7 @@ jQuery.fx.prototype = {
|
||||||
if ( jQuery.timerId == null ) {
|
if ( jQuery.timerId == null ) {
|
||||||
jQuery.timerId = setInterval(function(){
|
jQuery.timerId = setInterval(function(){
|
||||||
var timers = jQuery.timers;
|
var timers = jQuery.timers;
|
||||||
|
|
||||||
for ( var i = 0; i < timers.length; i++ )
|
for ( var i = 0; i < timers.length; i++ )
|
||||||
if ( !timers[i]() )
|
if ( !timers[i]() )
|
||||||
timers.splice(i--, 1);
|
timers.splice(i--, 1);
|
||||||
|
@ -326,7 +326,7 @@ jQuery.fx.prototype = {
|
||||||
// flash of content
|
// flash of content
|
||||||
if ( this.prop == "width" || this.prop == "height" )
|
if ( this.prop == "width" || this.prop == "height" )
|
||||||
this.elem.style[this.prop] = "1px";
|
this.elem.style[this.prop] = "1px";
|
||||||
|
|
||||||
// Start by showing the element
|
// Start by showing the element
|
||||||
jQuery(this.elem).show();
|
jQuery(this.elem).show();
|
||||||
},
|
},
|
||||||
|
@ -361,7 +361,7 @@ jQuery.fx.prototype = {
|
||||||
if ( this.options.display != null ) {
|
if ( this.options.display != null ) {
|
||||||
// Reset the overflow
|
// Reset the overflow
|
||||||
this.elem.style.overflow = this.options.overflow;
|
this.elem.style.overflow = this.options.overflow;
|
||||||
|
|
||||||
// Reset the display
|
// Reset the display
|
||||||
this.elem.style.display = this.options.display;
|
this.elem.style.display = this.options.display;
|
||||||
if ( jQuery.css(this.elem, "display") == "none" )
|
if ( jQuery.css(this.elem, "display") == "none" )
|
||||||
|
@ -403,7 +403,7 @@ jQuery.fx.prototype = {
|
||||||
|
|
||||||
jQuery.extend( jQuery.fx, {
|
jQuery.extend( jQuery.fx, {
|
||||||
speeds:{
|
speeds:{
|
||||||
slow: 600,
|
slow: 600,
|
||||||
fast: 200,
|
fast: 200,
|
||||||
// Default speed
|
// Default speed
|
||||||
def: 400
|
def: 400
|
||||||
|
@ -412,15 +412,15 @@ jQuery.extend( jQuery.fx, {
|
||||||
scrollLeft: function(fx){
|
scrollLeft: function(fx){
|
||||||
fx.elem.scrollLeft = fx.now;
|
fx.elem.scrollLeft = fx.now;
|
||||||
},
|
},
|
||||||
|
|
||||||
scrollTop: function(fx){
|
scrollTop: function(fx){
|
||||||
fx.elem.scrollTop = fx.now;
|
fx.elem.scrollTop = fx.now;
|
||||||
},
|
},
|
||||||
|
|
||||||
opacity: function(fx){
|
opacity: function(fx){
|
||||||
jQuery.attr(fx.elem.style, "opacity", fx.now);
|
jQuery.attr(fx.elem.style, "opacity", fx.now);
|
||||||
},
|
},
|
||||||
|
|
||||||
_default: function(fx){
|
_default: function(fx){
|
||||||
fx.elem.style[ fx.prop ] = fx.now + fx.unit;
|
fx.elem.style[ fx.prop ] = fx.now + fx.unit;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,24 +3,24 @@
|
||||||
// http://jquery.com/plugins/project/dimensions
|
// http://jquery.com/plugins/project/dimensions
|
||||||
jQuery.fn.offset = function() {
|
jQuery.fn.offset = function() {
|
||||||
var left = 0, top = 0, elem = this[0], results;
|
var left = 0, top = 0, elem = this[0], results;
|
||||||
|
|
||||||
if ( elem ) with ( jQuery.browser ) {
|
if ( elem ) with ( jQuery.browser ) {
|
||||||
var parent = elem.parentNode,
|
var parent = elem.parentNode,
|
||||||
offsetChild = elem,
|
offsetChild = elem,
|
||||||
offsetParent = elem.offsetParent,
|
offsetParent = elem.offsetParent,
|
||||||
doc = elem.ownerDocument,
|
doc = elem.ownerDocument,
|
||||||
safari2 = safari && parseInt(version) < 522 && !/adobeair/i.test(userAgent),
|
safari2 = safari && parseInt(version) < 522 && !/adobeair/i.test(userAgent),
|
||||||
css = jQuery.curCSS,
|
css = jQuery.curCSS,
|
||||||
fixed = css(elem, "position") == "fixed";
|
fixed = css(elem, "position") == "fixed";
|
||||||
|
|
||||||
// Use getBoundingClientRect if available
|
// Use getBoundingClientRect if available
|
||||||
if ( elem.getBoundingClientRect ) {
|
if ( elem.getBoundingClientRect ) {
|
||||||
var box = elem.getBoundingClientRect();
|
var box = elem.getBoundingClientRect();
|
||||||
|
|
||||||
// Add the document scroll offsets
|
// Add the document scroll offsets
|
||||||
add(box.left + Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft),
|
add(box.left + Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft),
|
||||||
box.top + Math.max(doc.documentElement.scrollTop, doc.body.scrollTop));
|
box.top + Math.max(doc.documentElement.scrollTop, doc.body.scrollTop));
|
||||||
|
|
||||||
// IE adds the HTML element's border, by default it is medium which is 2px
|
// IE adds the HTML element's border, by default it is medium which is 2px
|
||||||
// IE 6 and 7 quirks mode the border width is overwritable by the following css html { border: 0; }
|
// IE 6 and 7 quirks mode the border width is overwritable by the following css html { border: 0; }
|
||||||
// IE 7 standards mode, the border is always 2px
|
// IE 7 standards mode, the border is always 2px
|
||||||
|
@ -28,54 +28,54 @@ jQuery.fn.offset = function() {
|
||||||
// However, in IE6 and 7 quirks mode the clientLeft and clientTop properties are not updated when overwriting it via CSS
|
// However, in IE6 and 7 quirks mode the clientLeft and clientTop properties are not updated when overwriting it via CSS
|
||||||
// Therefore this method will be off by 2px in IE while in quirksmode
|
// Therefore this method will be off by 2px in IE while in quirksmode
|
||||||
add( -doc.documentElement.clientLeft, -doc.documentElement.clientTop );
|
add( -doc.documentElement.clientLeft, -doc.documentElement.clientTop );
|
||||||
|
|
||||||
// Otherwise loop through the offsetParents and parentNodes
|
// Otherwise loop through the offsetParents and parentNodes
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// Initial element offsets
|
// Initial element offsets
|
||||||
add( elem.offsetLeft, elem.offsetTop );
|
add( elem.offsetLeft, elem.offsetTop );
|
||||||
|
|
||||||
// Get parent offsets
|
// Get parent offsets
|
||||||
while ( offsetParent ) {
|
while ( offsetParent ) {
|
||||||
// Add offsetParent offsets
|
// Add offsetParent offsets
|
||||||
add( offsetParent.offsetLeft, offsetParent.offsetTop );
|
add( offsetParent.offsetLeft, offsetParent.offsetTop );
|
||||||
|
|
||||||
// Mozilla and Safari > 2 does not include the border on offset parents
|
// Mozilla and Safari > 2 does not include the border on offset parents
|
||||||
// However Mozilla adds the border for table or table cells
|
// However Mozilla adds the border for table or table cells
|
||||||
if ( mozilla && !/^t(able|d|h)$/i.test(offsetParent.tagName) || safari && !safari2 )
|
if ( mozilla && !/^t(able|d|h)$/i.test(offsetParent.tagName) || safari && !safari2 )
|
||||||
border( offsetParent );
|
border( offsetParent );
|
||||||
|
|
||||||
// Add the document scroll offsets if position is fixed on any offsetParent
|
// Add the document scroll offsets if position is fixed on any offsetParent
|
||||||
if ( !fixed && css(offsetParent, "position") == "fixed" )
|
if ( !fixed && css(offsetParent, "position") == "fixed" )
|
||||||
fixed = true;
|
fixed = true;
|
||||||
|
|
||||||
// Set offsetChild to previous offsetParent unless it is the body element
|
// Set offsetChild to previous offsetParent unless it is the body element
|
||||||
offsetChild = /^body$/i.test(offsetParent.tagName) ? offsetChild : offsetParent;
|
offsetChild = /^body$/i.test(offsetParent.tagName) ? offsetChild : offsetParent;
|
||||||
// Get next offsetParent
|
// Get next offsetParent
|
||||||
offsetParent = offsetParent.offsetParent;
|
offsetParent = offsetParent.offsetParent;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get parent scroll offsets
|
// Get parent scroll offsets
|
||||||
while ( parent && parent.tagName && !/^body|html$/i.test(parent.tagName) ) {
|
while ( parent && parent.tagName && !/^body|html$/i.test(parent.tagName) ) {
|
||||||
// Remove parent scroll UNLESS that parent is inline or a table to work around Opera inline/table scrollLeft/Top bug
|
// Remove parent scroll UNLESS that parent is inline or a table to work around Opera inline/table scrollLeft/Top bug
|
||||||
if ( !/^inline|table.*$/i.test(css(parent, "display")) )
|
if ( !/^inline|table.*$/i.test(css(parent, "display")) )
|
||||||
// Subtract parent scroll offsets
|
// Subtract parent scroll offsets
|
||||||
add( -parent.scrollLeft, -parent.scrollTop );
|
add( -parent.scrollLeft, -parent.scrollTop );
|
||||||
|
|
||||||
// Mozilla does not add the border for a parent that has overflow != visible
|
// Mozilla does not add the border for a parent that has overflow != visible
|
||||||
if ( mozilla && css(parent, "overflow") != "visible" )
|
if ( mozilla && css(parent, "overflow") != "visible" )
|
||||||
border( parent );
|
border( parent );
|
||||||
|
|
||||||
// Get next parent
|
// Get next parent
|
||||||
parent = parent.parentNode;
|
parent = parent.parentNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Safari <= 2 doubles body offsets with a fixed position element/offsetParent or absolutely positioned offsetChild
|
// Safari <= 2 doubles body offsets with a fixed position element/offsetParent or absolutely positioned offsetChild
|
||||||
// Mozilla doubles body offsets with a non-absolutely positioned offsetChild
|
// Mozilla doubles body offsets with a non-absolutely positioned offsetChild
|
||||||
if ( (safari2 && (fixed || css(offsetChild, "position") == "absolute")) ||
|
if ( (safari2 && (fixed || css(offsetChild, "position") == "absolute")) ||
|
||||||
(mozilla && css(offsetChild, "position") != "absolute") )
|
(mozilla && css(offsetChild, "position") != "absolute") )
|
||||||
add( -doc.body.offsetLeft, -doc.body.offsetTop );
|
add( -doc.body.offsetLeft, -doc.body.offsetTop );
|
||||||
|
|
||||||
// Add the document scroll offsets if position is fixed
|
// Add the document scroll offsets if position is fixed
|
||||||
if ( fixed )
|
if ( fixed )
|
||||||
add(Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft),
|
add(Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft),
|
||||||
|
@ -102,33 +102,33 @@ jQuery.fn.offset = function() {
|
||||||
jQuery.fn.extend({
|
jQuery.fn.extend({
|
||||||
position: function() {
|
position: function() {
|
||||||
var left = 0, top = 0, elem = this[0], offset, parentOffset, offsetParent, results;
|
var left = 0, top = 0, elem = this[0], offset, parentOffset, offsetParent, results;
|
||||||
|
|
||||||
if (elem) {
|
if (elem) {
|
||||||
// Get *real* offsetParent
|
// Get *real* offsetParent
|
||||||
offsetParent = this.offsetParent();
|
offsetParent = this.offsetParent();
|
||||||
|
|
||||||
// Get correct offsets
|
// Get correct offsets
|
||||||
offset = this.offset();
|
offset = this.offset();
|
||||||
parentOffset = offsetParent.offset();
|
parentOffset = offsetParent.offset();
|
||||||
|
|
||||||
// Subtract element margins
|
// Subtract element margins
|
||||||
offset.top -= parseInt( jQuery.curCSS(elem, 'marginTop', true) ) || 0;
|
offset.top -= parseInt( jQuery.curCSS(elem, 'marginTop', true) ) || 0;
|
||||||
offset.left -= parseInt( jQuery.curCSS(elem, 'marginLeft', true) ) || 0;
|
offset.left -= parseInt( jQuery.curCSS(elem, 'marginLeft', true) ) || 0;
|
||||||
|
|
||||||
// Add offsetParent borders
|
// Add offsetParent borders
|
||||||
parentOffset.top += parseInt( jQuery.curCSS(offsetParent[0], 'borderTopWidth', true) ) || 0;
|
parentOffset.top += parseInt( jQuery.curCSS(offsetParent[0], 'borderTopWidth', true) ) || 0;
|
||||||
parentOffset.left += parseInt( jQuery.curCSS(offsetParent[0], 'borderLeftWidth', true) ) || 0;
|
parentOffset.left += parseInt( jQuery.curCSS(offsetParent[0], 'borderLeftWidth', true) ) || 0;
|
||||||
|
|
||||||
// Subtract the two offsets
|
// Subtract the two offsets
|
||||||
results = {
|
results = {
|
||||||
top: offset.top - parentOffset.top,
|
top: offset.top - parentOffset.top,
|
||||||
left: offset.left - parentOffset.left
|
left: offset.left - parentOffset.left
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
return results;
|
return results;
|
||||||
},
|
},
|
||||||
|
|
||||||
offsetParent: function() {
|
offsetParent: function() {
|
||||||
var offsetParent = this[0].offsetParent;
|
var offsetParent = this[0].offsetParent;
|
||||||
while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && jQuery.css(offsetParent, 'position') == 'static') )
|
while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && jQuery.css(offsetParent, 'position') == 'static') )
|
||||||
|
@ -142,19 +142,19 @@ jQuery.fn.extend({
|
||||||
jQuery.each( ['Left', 'Top'], function(i, name) {
|
jQuery.each( ['Left', 'Top'], function(i, name) {
|
||||||
jQuery.fn[ 'scroll' + name ] = function(val) {
|
jQuery.fn[ 'scroll' + name ] = function(val) {
|
||||||
if (!this[0]) return;
|
if (!this[0]) return;
|
||||||
|
|
||||||
return val != undefined ?
|
return val != undefined ?
|
||||||
|
|
||||||
// Set the scroll offset
|
// Set the scroll offset
|
||||||
this.each(function() {
|
this.each(function() {
|
||||||
this == window || this == document ?
|
this == window || this == document ?
|
||||||
window.scrollTo(
|
window.scrollTo(
|
||||||
name == 'Left' ? val : jQuery(window)[ 'scrollLeft' ](),
|
name == 'Left' ? val : jQuery(window)[ 'scrollLeft' ](),
|
||||||
name == 'Top' ? val : jQuery(window)[ 'scrollTop' ]()
|
name == 'Top' ? val : jQuery(window)[ 'scrollTop' ]()
|
||||||
) :
|
) :
|
||||||
this[ 'scroll' + name ] = val;
|
this[ 'scroll' + name ] = val;
|
||||||
}) :
|
}) :
|
||||||
|
|
||||||
// Return the scroll offset
|
// Return the scroll offset
|
||||||
this[0] == window || this[0] == document ?
|
this[0] == window || this[0] == document ?
|
||||||
self[ (name == 'Left' ? 'pageXOffset' : 'pageYOffset') ] ||
|
self[ (name == 'Left' ? 'pageXOffset' : 'pageYOffset') ] ||
|
||||||
|
|
|
@ -64,7 +64,7 @@ jQuery.extend({
|
||||||
animated: function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}
|
animated: function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// The regular expressions that power the parsing engine
|
// The regular expressions that power the parsing engine
|
||||||
parse: [
|
parse: [
|
||||||
// Match: [@value='test'], [@foo]
|
// Match: [@value='test'], [@foo]
|
||||||
|
@ -118,7 +118,7 @@ jQuery.extend({
|
||||||
// An attempt at speeding up child selectors that
|
// An attempt at speeding up child selectors that
|
||||||
// point to a specific element tag
|
// point to a specific element tag
|
||||||
re = quickChild,
|
re = quickChild,
|
||||||
|
|
||||||
m = re.exec(t);
|
m = re.exec(t);
|
||||||
|
|
||||||
if ( m ) {
|
if ( m ) {
|
||||||
|
@ -151,12 +151,12 @@ jQuery.extend({
|
||||||
var id = jQuery.data(n);
|
var id = jQuery.data(n);
|
||||||
|
|
||||||
if ( m == "~" && merge[id] ) break;
|
if ( m == "~" && merge[id] ) break;
|
||||||
|
|
||||||
if (!nodeName || n.nodeName.toUpperCase() == nodeName ) {
|
if (!nodeName || n.nodeName.toUpperCase() == nodeName ) {
|
||||||
if ( m == "~" ) merge[id] = true;
|
if ( m == "~" ) merge[id] = true;
|
||||||
r.push( n );
|
r.push( n );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( m == "+" ) break;
|
if ( m == "+" ) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -190,7 +190,7 @@ jQuery.extend({
|
||||||
// Optimize for the case nodeName#idName
|
// Optimize for the case nodeName#idName
|
||||||
var re2 = quickID;
|
var re2 = quickID;
|
||||||
var m = re2.exec(t);
|
var m = re2.exec(t);
|
||||||
|
|
||||||
// Re-organize the results, so that they're consistent
|
// Re-organize the results, so that they're consistent
|
||||||
if ( m ) {
|
if ( m ) {
|
||||||
m = [ 0, m[2], m[3], m[1] ];
|
m = [ 0, m[2], m[3], m[1] ];
|
||||||
|
@ -210,7 +210,7 @@ jQuery.extend({
|
||||||
if ( m[1] == "#" && elem && elem.getElementById && !jQuery.isXMLDoc(elem) ) {
|
if ( m[1] == "#" && elem && elem.getElementById && !jQuery.isXMLDoc(elem) ) {
|
||||||
// Optimization for HTML document case
|
// Optimization for HTML document case
|
||||||
var oid = elem.getElementById(m[2]);
|
var oid = elem.getElementById(m[2]);
|
||||||
|
|
||||||
// Do a quick check for the existence of the actual ID attribute
|
// Do a quick check for the existence of the actual ID attribute
|
||||||
// to avoid selecting by the name attribute in IE
|
// to avoid selecting by the name attribute in IE
|
||||||
// also check to insure id is a string to avoid selecting an element with the name of 'id' inside a form
|
// also check to insure id is a string to avoid selecting an element with the name of 'id' inside a form
|
||||||
|
@ -332,10 +332,10 @@ jQuery.extend({
|
||||||
|
|
||||||
else if ( m[1] == "[" ) {
|
else if ( m[1] == "[" ) {
|
||||||
var tmp = [], type = m[3];
|
var tmp = [], type = m[3];
|
||||||
|
|
||||||
for ( var i = 0, rl = r.length; i < rl; i++ ) {
|
for ( var i = 0, rl = r.length; i < rl; i++ ) {
|
||||||
var a = r[i], z = a[ jQuery.props[m[2]] || m[2] ];
|
var a = r[i], z = a[ jQuery.props[m[2]] || m[2] ];
|
||||||
|
|
||||||
if ( z == null || /href|src|selected/.test(m[2]) )
|
if ( z == null || /href|src|selected/.test(m[2]) )
|
||||||
z = jQuery.attr(a,m[2]) || '';
|
z = jQuery.attr(a,m[2]) || '';
|
||||||
|
|
||||||
|
@ -347,7 +347,7 @@ jQuery.extend({
|
||||||
(type == "*=" || type == "~=") && z.indexOf(m[5]) >= 0) ^ not )
|
(type == "*=" || type == "~=") && z.indexOf(m[5]) >= 0) ^ not )
|
||||||
tmp.push( a );
|
tmp.push( a );
|
||||||
}
|
}
|
||||||
|
|
||||||
r = tmp;
|
r = tmp;
|
||||||
|
|
||||||
// We can get a speed boost by handling nth-child here
|
// We can get a speed boost by handling nth-child here
|
||||||
|
@ -359,7 +359,7 @@ jQuery.extend({
|
||||||
!/\D/.test(m[3]) && "0n+" + m[3] || m[3]),
|
!/\D/.test(m[3]) && "0n+" + m[3] || m[3]),
|
||||||
// calculate the numbers (first)n+(last) including if they are negative
|
// calculate the numbers (first)n+(last) including if they are negative
|
||||||
first = (test[1] + (test[2] || 1)) - 0, last = test[3] - 0;
|
first = (test[1] + (test[2] || 1)) - 0, last = test[3] - 0;
|
||||||
|
|
||||||
// loop through all the elements left in the jQuery object
|
// loop through all the elements left in the jQuery object
|
||||||
for ( var i = 0, rl = r.length; i < rl; i++ ) {
|
for ( var i = 0, rl = r.length; i < rl; i++ ) {
|
||||||
var node = r[i], parentNode = node.parentNode, id = jQuery.data(parentNode);
|
var node = r[i], parentNode = node.parentNode, id = jQuery.data(parentNode);
|
||||||
|
@ -419,7 +419,7 @@ jQuery.extend({
|
||||||
}
|
}
|
||||||
return matched;
|
return matched;
|
||||||
},
|
},
|
||||||
|
|
||||||
nth: function(cur,result,dir,elem){
|
nth: function(cur,result,dir,elem){
|
||||||
result = result || 1;
|
result = result || 1;
|
||||||
var num = 0;
|
var num = 0;
|
||||||
|
@ -430,7 +430,7 @@ jQuery.extend({
|
||||||
|
|
||||||
return cur;
|
return cur;
|
||||||
},
|
},
|
||||||
|
|
||||||
sibling: function( n, elem ) {
|
sibling: function( n, elem ) {
|
||||||
var r = [];
|
var r = [];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue