Changeset 1048:a23c948b7ab2 for admin/js/jquery/jquery.js
- Timestamp:
- 11/30/12 06:53:40 (13 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/js/jquery/jquery.js
- Property exe set to *
r906 r1048 1 1 /*! 2 * jQuery JavaScript Library v1.8. 22 * jQuery JavaScript Library v1.8.3 3 3 * http://jquery.com/ 4 4 * … … 10 10 * http://jquery.org/license 11 11 * 12 * Date: T hu Sep 20 2012 21:13:05 GMT-0400 (Eastern DaylightTime)12 * Date: Tue Nov 13 2012 08:20:33 GMT-0500 (Eastern Standard Time) 13 13 */ 14 14 (function( window, undefined ) { … … 187 187 188 188 // The current version of jQuery being used 189 jquery: "1.8. 2",189 jquery: "1.8.3", 190 190 191 191 // The default length of a jQuery object is 0 … … 1000 1000 jQuery.each( args, function( _, arg ) { 1001 1001 var type = jQuery.type( arg ); 1002 if ( type === "function" && ( !options.unique || !self.has( arg ) ) ) { 1003 list.push( arg ); 1002 if ( type === "function" ) { 1003 if ( !options.unique || !self.has( arg ) ) { 1004 list.push( arg ); 1005 } 1004 1006 } else if ( arg && arg.length && type !== "string" ) { 1005 1007 // Inspect recursively … … 1254 1256 div = document.createElement("div"); 1255 1257 1256 // Preliminary tests1258 // Setup 1257 1259 div.setAttribute( "className", "t" ); 1258 1260 div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; 1259 1261 1262 // Support tests won't run in some limited or non-browser environments 1260 1263 all = div.getElementsByTagName("*"); 1261 1264 a = div.getElementsByTagName("a")[ 0 ]; 1262 a.style.cssText = "top:1px;float:left;opacity:.5"; 1263 1264 // Can't get basic test support 1265 if ( !all || !all.length ) { 1265 if ( !all || !a || !all.length ) { 1266 1266 return {}; 1267 1267 } 1268 1268 1269 // First batch of supportstests1269 // First batch of tests 1270 1270 select = document.createElement("select"); 1271 1271 opt = select.appendChild( document.createElement("option") ); 1272 1272 input = div.getElementsByTagName("input")[ 0 ]; 1273 1273 1274 a.style.cssText = "top:1px;float:left;opacity:.5"; 1274 1275 support = { 1275 1276 // IE strips leading whitespace when .innerHTML is used … … 1313 1314 getSetAttribute: div.className !== "t", 1314 1315 1315 // Tests for enctype support on a form (#6743)1316 // Tests for enctype support on a form (#6743) 1316 1317 enctype: !!document.createElement("form").enctype, 1317 1318 … … 2218 2219 select: { 2219 2220 get: function( elem ) { 2220 var value, i, max, option, 2221 var value, option, 2222 options = elem.options, 2221 2223 index = elem.selectedIndex, 2222 values = [], 2223 options = elem.options, 2224 one = elem.type === "select-one"; 2225 2226 // Nothing was selected 2227 if ( index < 0 ) { 2228 return null; 2229 } 2224 one = elem.type === "select-one" || index < 0, 2225 values = one ? null : [], 2226 max = one ? index + 1 : options.length, 2227 i = index < 0 ? 2228 max : 2229 one ? index : 0; 2230 2230 2231 2231 // Loop through all the selected options 2232 i = one ? index : 0;2233 max = one ? index + 1 : options.length;2234 2232 for ( ; i < max; i++ ) { 2235 2233 option = options[ i ]; 2236 2234 2237 // Don't return options that are disabled or in a disabled optgroup 2238 if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && 2239 (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { 2235 // oldIE doesn't update selected after form reset (#2551) 2236 if ( ( option.selected || i === index ) && 2237 // Don't return options that are disabled or in a disabled optgroup 2238 ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && 2239 ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { 2240 2240 2241 2241 // Get the specific value for the option … … 2250 2250 values.push( value ); 2251 2251 } 2252 }2253 2254 // Fixes Bug #2551 -- select.val() broken in IE after form.reset()2255 if ( one && !values.length && options.length ) {2256 return jQuery( options[ index ] ).val();2257 2252 } 2258 2253 … … 3234 3229 if ( elem.detachEvent ) { 3235 3230 3236 // #8545, #7054, preventing memory leaks for custom events in IE6-8 –3231 // #8545, #7054, preventing memory leaks for custom events in IE6-8 3237 3232 // detachEvent needed property on element, by name of that event, to properly expose it to GC 3238 3233 if ( typeof elem[ name ] === "undefined" ) { … … 3726 3721 } 3727 3722 3728 return (cache[ key ] = value); 3723 // Retrieve with (key + " ") to avoid collision with native Object.prototype properties (see Issue #157) 3724 return (cache[ key + " " ] = value); 3729 3725 }, cache ); 3730 3726 }, … … 4260 4256 4261 4257 "CLASS": function( className ) { 4262 var pattern = classCache[ expando ][ className ];4263 if ( !pattern ) { 4264 pattern = classCache( className, new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)") );4265 }4266 returnfunction( elem ) {4267 return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" );4268 };4258 var pattern = classCache[ expando ][ className + " " ]; 4259 4260 return pattern || 4261 (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && 4262 classCache( className, function( elem ) { 4263 return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); 4264 }); 4269 4265 }, 4270 4266 … … 4512 4508 "focus": function( elem ) { 4513 4509 var doc = elem.ownerDocument; 4514 return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href );4510 return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); 4515 4511 }, 4516 4512 … … 4520 4516 4521 4517 // Positional types 4522 "first": createPositionalPseudo(function( matchIndexes, length, argument) {4518 "first": createPositionalPseudo(function() { 4523 4519 return [ 0 ]; 4524 4520 }), 4525 4521 4526 "last": createPositionalPseudo(function( matchIndexes, length , argument) {4522 "last": createPositionalPseudo(function( matchIndexes, length ) { 4527 4523 return [ length - 1 ]; 4528 4524 }), … … 4532 4528 }), 4533 4529 4534 "even": createPositionalPseudo(function( matchIndexes, length , argument) {4530 "even": createPositionalPseudo(function( matchIndexes, length ) { 4535 4531 for ( var i = 0; i < length; i += 2 ) { 4536 4532 matchIndexes.push( i ); … … 4539 4535 }), 4540 4536 4541 "odd": createPositionalPseudo(function( matchIndexes, length , argument) {4537 "odd": createPositionalPseudo(function( matchIndexes, length ) { 4542 4538 for ( var i = 1; i < length; i += 2 ) { 4543 4539 matchIndexes.push( i ); … … 4660 4656 Sizzle.uniqueSort = function( results ) { 4661 4657 var elem, 4662 i = 1; 4658 duplicates = [], 4659 i = 1, 4660 j = 0; 4663 4661 4664 4662 hasDuplicate = baseHasDuplicate; … … 4668 4666 for ( ; (elem = results[i]); i++ ) { 4669 4667 if ( elem === results[ i - 1 ] ) { 4670 results.splice( i--, 1 ); 4671 } 4668 j = duplicates.push( i ); 4669 } 4670 } 4671 while ( j-- ) { 4672 results.splice( duplicates[ j ], 1 ); 4672 4673 } 4673 4674 } … … 4681 4682 4682 4683 function tokenize( selector, parseOnly ) { 4683 var matched, match, tokens, type, soFar, groups, preFilters, 4684 cached = tokenCache[ expando ][ selector ]; 4684 var matched, match, tokens, type, 4685 soFar, groups, preFilters, 4686 cached = tokenCache[ expando ][ selector + " " ]; 4685 4687 4686 4688 if ( cached ) { … … 4697 4699 if ( !matched || (match = rcomma.exec( soFar )) ) { 4698 4700 if ( match ) { 4699 soFar = soFar.slice( match[0].length ); 4701 // Don't consume trailing commas as valid 4702 soFar = soFar.slice( match[0].length ) || soFar; 4700 4703 } 4701 4704 groups.push( tokens = [] ); … … 4716 4719 for ( type in Expr.filter ) { 4717 4720 if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || 4718 // The last two arguments here are (context, xml) for backCompat 4719 (match = preFilters[ type ]( match, document, true ))) ) { 4721 (match = preFilters[ type ]( match ))) ) { 4720 4722 4721 4723 tokens.push( matched = new Token( match.shift() ) ); … … 4837 4839 } 4838 4840 return markFunction(function( seed, results, context, xml ) { 4839 // Positional selectors apply to seed elements, so it is invalid to follow them with relative ones 4840 if ( seed && postFinder ) { 4841 return; 4842 } 4843 4844 var i, elem, postFilterIn, 4841 var temp, i, elem, 4845 4842 preMap = [], 4846 4843 postMap = [], … … 4848 4845 4849 4846 // Get initial elements from seed or context 4850 elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] , seed),4847 elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), 4851 4848 4852 4849 // Prefilter to get matcher input, preserving a map for seed-results synchronization … … 4873 4870 // Apply postFilter 4874 4871 if ( postFilter ) { 4875 postFilterIn= condense( matcherOut, postMap );4876 postFilter( postFilterIn, [], context, xml );4872 temp = condense( matcherOut, postMap ); 4873 postFilter( temp, [], context, xml ); 4877 4874 4878 4875 // Un-match failing elements by moving them back to matcherIn 4879 i = postFilterIn.length;4876 i = temp.length; 4880 4877 while ( i-- ) { 4881 if ( (elem = postFilterIn[i]) ) {4878 if ( (elem = temp[i]) ) { 4882 4879 matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); 4883 4880 } … … 4885 4882 } 4886 4883 4887 // Keep seed and results synchronized4888 4884 if ( seed ) { 4889 // Ignore postFinder because it can't coexist with seed 4890 i = preFilter && matcherOut.length; 4891 while ( i-- ) { 4892 if ( (elem = matcherOut[i]) ) { 4893 seed[ preMap[i] ] = !(results[ preMap[i] ] = elem); 4894 } 4895 } 4885 if ( postFinder || preFilter ) { 4886 if ( postFinder ) { 4887 // Get the final matcherOut by condensing this intermediate into postFinder contexts 4888 temp = []; 4889 i = matcherOut.length; 4890 while ( i-- ) { 4891 if ( (elem = matcherOut[i]) ) { 4892 // Restore matcherIn since elem is not yet a final match 4893 temp.push( (matcherIn[i] = elem) ); 4894 } 4895 } 4896 postFinder( null, (matcherOut = []), temp, xml ); 4897 } 4898 4899 // Move matched elements from seed to results to keep them synchronized 4900 i = matcherOut.length; 4901 while ( i-- ) { 4902 if ( (elem = matcherOut[i]) && 4903 (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { 4904 4905 seed[temp] = !(results[temp] = elem); 4906 } 4907 } 4908 } 4909 4910 // Add elements to results, through postFinder if defined 4896 4911 } else { 4897 4912 matcherOut = condense( … … 4934 4949 matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; 4935 4950 } else { 4936 // The concatenated values are (context, xml) for backCompat4937 4951 matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); 4938 4952 … … 5063 5077 setMatchers = [], 5064 5078 elementMatchers = [], 5065 cached = compilerCache[ expando ][ selector ];5079 cached = compilerCache[ expando ][ selector + " " ]; 5066 5080 5067 5081 if ( !cached ) { … … 5086 5100 }; 5087 5101 5088 function multipleContexts( selector, contexts, results , seed) {5102 function multipleContexts( selector, contexts, results ) { 5089 5103 var i = 0, 5090 5104 len = contexts.length; 5091 5105 for ( ; i < len; i++ ) { 5092 Sizzle( selector, contexts[i], results , seed);5106 Sizzle( selector, contexts[i], results ); 5093 5107 } 5094 5108 return results; … … 5168 5182 rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, 5169 5183 5170 // qSa(:focus) reports false when true (Chrome 21), 5184 // qSa(:focus) reports false when true (Chrome 21), no need to also add to buggyMatches since matches checks buggyQSA 5171 5185 // A support test would require too much code (would include document ready) 5172 rbuggyQSA = [":focus"], 5173 5174 // matchesSelector(:focus) reports false when true (Chrome 21), 5186 rbuggyQSA = [ ":focus" ], 5187 5175 5188 // matchesSelector(:active) reports false when true (IE9/Opera 11.5) 5176 5189 // A support test would require too much code (would include document ready) 5177 5190 // just skip matchesSelector for :active 5178 rbuggyMatches = [ ":active" , ":focus"],5191 rbuggyMatches = [ ":active" ], 5179 5192 matches = docElem.matchesSelector || 5180 5193 docElem.mozMatchesSelector || … … 5230 5243 // when this is not xml, 5231 5244 // and when no QSA bugs apply 5232 if ( !seed && !xml && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {5245 if ( !seed && !xml && !rbuggyQSA.test( selector ) ) { 5233 5246 var groups, i, 5234 5247 old = true, … … 5299 5312 5300 5313 // rbuggyMatches always contains :active, so no need for an existence check 5301 if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && (!rbuggyQSA || !rbuggyQSA.test( expr )) ) {5314 if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && !rbuggyQSA.test( expr ) ) { 5302 5315 try { 5303 5316 var ret = matches.call( elem, expr ); … … 6534 6547 rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), 6535 6548 rrelNum = new RegExp( "^([-+])=(" + core_pnum + ")", "i" ), 6536 elemdisplay = { },6549 elemdisplay = { BODY: "block" }, 6537 6550 6538 6551 cssShow = { position: "absolute", visibility: "hidden", display: "block" }, … … 6815 6828 if ( computed ) { 6816 6829 6817 ret = computed[ name ]; 6830 // getPropertyValue is only needed for .css('filter') in IE9, see #12537 6831 ret = computed.getPropertyValue( name ) || computed[ name ]; 6832 6818 6833 if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { 6819 6834 ret = jQuery.style( elem, name ); … … 7844 7859 // A cross-domain request is in order when we have a protocol:host:port mismatch 7845 7860 if ( s.crossDomain == null ) { 7846 parts = rurl.exec( s.url.toLowerCase() ) || false; 7847 s.crossDomain = parts && ( parts.join(":") + ( parts[ 3 ] ? "" : parts[ 1 ] === "http:" ? 80 : 443 ) ) !== 7848 ( ajaxLocParts.join(":") + ( ajaxLocParts[ 3 ] ? "" : ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ); 7861 parts = rurl.exec( s.url.toLowerCase() ); 7862 s.crossDomain = !!( parts && 7863 ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] || 7864 ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) != 7865 ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) ) 7866 ); 7849 7867 } 7850 7868 … … 8465 8483 try { 8466 8484 responses.text = xhr.responseText; 8467 } catch( _) {8485 } catch( e ) { 8468 8486 } 8469 8487 … … 8618 8636 var currentTime = fxNow || createFxNow(), 8619 8637 remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), 8620 percent = 1 - ( remaining / animation.duration || 0 ), 8638 // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497) 8639 temp = remaining / animation.duration || 0, 8640 percent = 1 - temp, 8621 8641 index = 0, 8622 8642 length = animation.tweens.length; … … 8770 8790 8771 8791 function defaultPrefilter( elem, props, opts ) { 8772 var index, prop, value, length, dataShow, t ween, hooks, oldfire,8792 var index, prop, value, length, dataShow, toggle, tween, hooks, oldfire, 8773 8793 anim = this, 8774 8794 style = elem.style, … … 8844 8864 if ( rfxtypes.exec( value ) ) { 8845 8865 delete props[ index ]; 8866 toggle = toggle || value === "toggle"; 8846 8867 if ( value === ( hidden ? "hide" : "show" ) ) { 8847 8868 continue; … … 8854 8875 if ( length ) { 8855 8876 dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} ); 8877 if ( "hidden" in dataShow ) { 8878 hidden = dataShow.hidden; 8879 } 8880 8881 // store state if its toggle - enables .stop().toggle() to "reverse" 8882 if ( toggle ) { 8883 dataShow.hidden = !hidden; 8884 } 8856 8885 if ( hidden ) { 8857 8886 jQuery( elem ).show(); … … 9150 9179 i = 0; 9151 9180 9181 fxNow = jQuery.now(); 9182 9152 9183 for ( ; i < timers.length; i++ ) { 9153 9184 timer = timers[ i ]; … … 9161 9192 jQuery.fx.stop(); 9162 9193 } 9194 fxNow = undefined; 9163 9195 }; 9164 9196
Note: See TracChangeset
for help on using the changeset viewer.