scratch – Diff between revs 58 and 125
?pathlinks?
Rev 58 | Rev 125 | |||
---|---|---|---|---|
Line 1... | Line -... | |||
1 | /* global Symbol */ |
- | ||
2 | // Defining this global in .eslintrc.json would create a danger of using the global |
- | ||
3 | // unguarded in another place, it seems safer to define global only for this module |
- | ||
4 | |
- | ||
5 | define( [ |
1 | define([ |
|
6 | "./var/arr", |
2 | "./var/arr", |
|
7 | "./var/document", |
- | ||
8 | "./var/getProto", |
- | ||
9 | "./var/slice", |
3 | "./var/slice", |
|
10 | "./var/concat", |
4 | "./var/concat", |
|
11 | "./var/push", |
5 | "./var/push", |
|
12 | "./var/indexOf", |
6 | "./var/indexOf", |
|
13 | "./var/class2type", |
7 | "./var/class2type", |
|
14 | "./var/toString", |
8 | "./var/toString", |
|
15 | "./var/hasOwn", |
9 | "./var/hasOwn", |
|
16 | "./var/fnToString", |
- | ||
17 | "./var/ObjectFunctionString", |
- | ||
18 | "./var/support", |
10 | "./var/support" |
|
19 | "./core/DOMEval" |
- | ||
20 | ], function( arr, document, getProto, slice, concat, push, indexOf, |
11 | ], function( arr, slice, concat, push, indexOf, class2type, toString, hasOwn, support ) { |
|
21 | class2type, toString, hasOwn, fnToString, ObjectFunctionString, |
- | ||
22 | support, DOMEval ) { |
- | ||
23 | |
- | ||
24 | "use strict"; |
- | ||
Line 25... | Line 12... | |||
25 | |
12 | |
|
- | 13 | var |
||
- | 14 | // Use the correct document accordingly with window argument (sandbox) |
||
- | 15 | document = window.document, |
||
26 | var |
16 | |
|
Line 27... | Line 17... | |||
27 | version = "3.1.1", |
17 | version = "@VERSION", |
|
28 | |
18 | |
|
29 | // Define a local copy of jQuery |
- | ||
30 | jQuery = function( selector, context ) { |
19 | // Define a local copy of jQuery |
|
31 | |
20 | jQuery = function( selector, context ) { |
|
32 | // The jQuery object is actually just the init constructor 'enhanced' |
21 | // The jQuery object is actually just the init constructor 'enhanced' |
|
33 | // Need init if jQuery is called (just allow error to be thrown if not included) |
22 | // Need init if jQuery is called (just allow error to be thrown if not included) |
|
Line 34... | Line 23... | |||
34 | return new jQuery.fn.init( selector, context ); |
23 | return new jQuery.fn.init( selector, context ); |
|
35 | }, |
24 | }, |
|
36 | |
25 | |
|
Line 37... | Line 26... | |||
37 | // Support: Android <=4.0 only |
26 | // Support: Android<4.1 |
|
38 | // Make sure we trim BOM and NBSP |
27 | // Make sure we trim BOM and NBSP |
|
39 | rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, |
28 | rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, |
|
Line 40... | Line 29... | |||
40 | |
29 | |
|
41 | // Matches dashed string for camelizing |
30 | // Matches dashed string for camelizing |
|
42 | rmsPrefix = /^-ms-/, |
31 | rmsPrefix = /^-ms-/, |
|
43 | rdashAlpha = /-([a-z])/g, |
32 | rdashAlpha = /-([\da-z])/gi, |
|
Line 44... | Line 33... | |||
44 | |
33 | |
|
45 | // Used by jQuery.camelCase as callback to replace() |
- | ||
46 | fcamelCase = function( all, letter ) { |
34 | // Used by jQuery.camelCase as callback to replace() |
|
47 | return letter.toUpperCase(); |
35 | fcamelCase = function( all, letter ) { |
|
Line 48... | Line 36... | |||
48 | }; |
36 | return letter.toUpperCase(); |
|
Line -... | Line 37... | |||
- | 37 | }; |
||
- | 38 | |
||
- | 39 | jQuery.fn = jQuery.prototype = { |
||
49 | |
40 | // The current version of jQuery being used |
|
50 | jQuery.fn = jQuery.prototype = { |
41 | jquery: version, |
|
Line 51... | Line 42... | |||
51 | |
42 | |
|
52 | // The current version of jQuery being used |
43 | constructor: jQuery, |
|
53 | jquery: version, |
44 | |
|
Line 54... | Line 45... | |||
54 | |
45 | // Start with an empty selector |
|
55 | constructor: jQuery, |
46 | selector: "", |
|
56 | |
47 | |
|
57 | // The default length of a jQuery object is 0 |
- | ||
58 | length: 0, |
- | ||
59 | |
48 | // The default length of a jQuery object is 0 |
|
60 | toArray: function() { |
- | ||
61 | return slice.call( this ); |
- | ||
Line 62... | Line 49... | |||
62 | }, |
49 | length: 0, |
|
63 | |
50 | |
|
- | 51 | toArray: function() { |
||
- | 52 | return slice.call( this ); |
||
- | 53 | }, |
||
64 | // Get the Nth element in the matched element set OR |
54 | |
|
Line 65... | Line 55... | |||
65 | // Get the whole matched element set as a clean array |
55 | // Get the Nth element in the matched element set OR |
|
66 | get: function( num ) { |
56 | // Get the whole matched element set as a clean array |
|
67 | |
57 | get: function( num ) { |
|
Line 81... | Line 71... | |||
81 | // Build a new jQuery matched element set |
71 | // Build a new jQuery matched element set |
|
82 | var ret = jQuery.merge( this.constructor(), elems ); |
72 | var ret = jQuery.merge( this.constructor(), elems ); |
|
Line 83... | Line 73... | |||
83 | |
73 | |
|
84 | // Add the old object onto the stack (as a reference) |
74 | // Add the old object onto the stack (as a reference) |
|
- | 75 | ret.prevObject = this; |
||
Line 85... | Line 76... | |||
85 | ret.prevObject = this; |
76 | ret.context = this.context; |
|
86 | |
77 | |
|
87 | // Return the newly-formed element set |
78 | // Return the newly-formed element set |
|
Line 88... | Line 79... | |||
88 | return ret; |
79 | return ret; |
|
- | 80 | }, |
||
- | 81 | |
||
89 | }, |
82 | // Execute a callback for every element in the matched set. |
|
90 | |
83 | // (You can seed the arguments with an array of args, but this is |
|
91 | // Execute a callback for every element in the matched set. |
84 | // only used internally.) |
|
Line 92... | Line 85... | |||
92 | each: function( callback ) { |
85 | each: function( callback, args ) { |
|
93 | return jQuery.each( this, callback ); |
86 | return jQuery.each( this, callback, args ); |
|
94 | }, |
87 | }, |
|
Line 116... | Line 109... | |||
116 | j = +i + ( i < 0 ? len : 0 ); |
109 | j = +i + ( i < 0 ? len : 0 ); |
|
117 | return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); |
110 | return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); |
|
118 | }, |
111 | }, |
|
Line 119... | Line 112... | |||
119 | |
112 | |
|
120 | end: function() { |
113 | end: function() { |
|
121 | return this.prevObject || this.constructor(); |
114 | return this.prevObject || this.constructor(null); |
|
Line 122... | Line 115... | |||
122 | }, |
115 | }, |
|
123 | |
116 | |
|
124 | // For internal use only. |
117 | // For internal use only. |
|
Line 154... | Line 147... | |||
154 | target = this; |
147 | target = this; |
|
155 | i--; |
148 | i--; |
|
156 | } |
149 | } |
|
Line 157... | Line 150... | |||
157 | |
150 | |
|
158 | for ( ; i < length; i++ ) { |
- | ||
159 | |
151 | for ( ; i < length; i++ ) { |
|
160 | // Only deal with non-null/undefined values |
152 | // Only deal with non-null/undefined values |
|
161 | if ( ( options = arguments[ i ] ) != null ) { |
- | ||
162 | |
153 | if ( (options = arguments[ i ]) != null ) { |
|
163 | // Extend the base object |
154 | // Extend the base object |
|
164 | for ( name in options ) { |
155 | for ( name in options ) { |
|
165 | src = target[ name ]; |
156 | src = target[ name ]; |
|
Line 169... | Line 160... | |||
169 | if ( target === copy ) { |
160 | if ( target === copy ) { |
|
170 | continue; |
161 | continue; |
|
171 | } |
162 | } |
|
Line 172... | Line 163... | |||
172 | |
163 | |
|
173 | // Recurse if we're merging plain objects or arrays |
164 | // Recurse if we're merging plain objects or arrays |
|
174 | if ( deep && copy && ( jQuery.isPlainObject( copy ) || |
- | ||
175 | ( copyIsArray = jQuery.isArray( copy ) ) ) ) { |
- | ||
176 | |
165 | if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { |
|
177 | if ( copyIsArray ) { |
166 | if ( copyIsArray ) { |
|
178 | copyIsArray = false; |
167 | copyIsArray = false; |
|
Line 179... | Line 168... | |||
179 | clone = src && jQuery.isArray( src ) ? src : []; |
168 | clone = src && jQuery.isArray(src) ? src : []; |
|
Line 196... | Line 185... | |||
196 | // Return the modified object |
185 | // Return the modified object |
|
197 | return target; |
186 | return target; |
|
198 | }; |
187 | }; |
|
Line 199... | Line 188... | |||
199 | |
188 | |
|
200 | jQuery.extend( { |
- | ||
201 | |
189 | jQuery.extend({ |
|
202 | // Unique for each copy of jQuery on the page |
190 | // Unique for each copy of jQuery on the page |
|
Line 203... | Line 191... | |||
203 | expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), |
191 | expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), |
|
204 | |
192 | |
|
Line 220... | Line 208... | |||
220 | isWindow: function( obj ) { |
208 | isWindow: function( obj ) { |
|
221 | return obj != null && obj === obj.window; |
209 | return obj != null && obj === obj.window; |
|
222 | }, |
210 | }, |
|
Line 223... | Line 211... | |||
223 | |
211 | |
|
224 | isNumeric: function( obj ) { |
- | ||
225 | |
- | ||
226 | // As of jQuery 3.0, isNumeric is limited to |
- | ||
227 | // strings and numbers (primitives or objects) |
- | ||
228 | // that can be coerced to finite numbers (gh-2662) |
- | ||
229 | var type = jQuery.type( obj ); |
- | ||
230 | return ( type === "number" || type === "string" ) && |
- | ||
231 | |
212 | isNumeric: function( obj ) { |
|
232 | // parseFloat NaNs numeric-cast false positives ("") |
213 | // parseFloat NaNs numeric-cast false positives (null|true|false|"") |
|
233 | // ...but misinterprets leading-number strings, particularly hex literals ("0x...") |
214 | // ...but misinterprets leading-number strings, particularly hex literals ("0x...") |
|
- | 215 | // subtraction forces infinities to NaN |
||
234 | // subtraction forces infinities to NaN |
216 | // adding 1 corrects loss of precision from parseFloat (#15100) |
|
235 | !isNaN( obj - parseFloat( obj ) ); |
217 | return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0; |
|
Line 236... | Line 218... | |||
236 | }, |
218 | }, |
|
237 | |
219 | |
|
238 | isPlainObject: function( obj ) { |
- | ||
- | 220 | isPlainObject: function( obj ) { |
||
239 | var proto, Ctor; |
221 | // Not plain objects: |
|
240 | |
222 | // - Any object or value whose internal [[Class]] property is not "[object Object]" |
|
241 | // Detect obvious negatives |
223 | // - DOM nodes |
|
242 | // Use toString instead of jQuery.type to catch host objects |
224 | // - window |
|
243 | if ( !obj || toString.call( obj ) !== "[object Object]" ) { |
225 | if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { |
|
Line 244... | Line 226... | |||
244 | return false; |
226 | return false; |
|
245 | } |
- | ||
246 | |
227 | } |
|
247 | proto = getProto( obj ); |
- | ||
248 | |
228 | |
|
249 | // Objects with no prototype (e.g., `Object.create( null )`) are plain |
229 | if ( obj.constructor && |
|
Line 250... | Line 230... | |||
250 | if ( !proto ) { |
230 | !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) { |
|
251 | return true; |
231 | return false; |
|
252 | } |
232 | } |
|
253 | |
233 | |
|
Line 254... | Line 234... | |||
254 | // Objects with prototype are plain iff they were constructed by a global Object function |
234 | // If the function hasn't returned already, we're confident that |
|
255 | Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; |
- | ||
256 | return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; |
- | ||
257 | }, |
- | ||
258 | |
235 | // |obj| is a plain object, created by {} or constructed with new Object |
|
259 | isEmptyObject: function( obj ) { |
- | ||
260 | |
236 | return true; |
|
261 | /* eslint-disable no-unused-vars */ |
237 | }, |
|
262 | // See https://github.com/eslint/eslint/issues/6125 |
238 | |
|
263 | var name; |
239 | isEmptyObject: function( obj ) { |
|
264 | |
240 | var name; |
|
Line 265... | Line 241... | |||
265 | for ( name in obj ) { |
241 | for ( name in obj ) { |
|
266 | return false; |
242 | return false; |
|
267 | } |
243 | } |
|
268 | return true; |
244 | return true; |
|
269 | }, |
- | ||
270 | |
245 | }, |
|
271 | type: function( obj ) { |
246 | |
|
272 | if ( obj == null ) { |
247 | type: function( obj ) { |
|
273 | return obj + ""; |
248 | if ( obj == null ) { |
|
274 | } |
249 | return obj + ""; |
|
Line 275... | Line 250... | |||
275 | |
250 | } |
|
276 | // Support: Android <=2.3 only (functionish RegExp) |
251 | // Support: Android<4.0, iOS<6 (functionish RegExp) |
|
- | 252 | return typeof obj === "object" || typeof obj === "function" ? |
||
- | 253 | class2type[ toString.call(obj) ] || "object" : |
||
- | 254 | typeof obj; |
||
- | 255 | }, |
||
- | 256 | |
||
- | 257 | // Evaluates a script in a global context |
||
- | 258 | globalEval: function( code ) { |
||
- | 259 | var script, |
||
- | 260 | indirect = eval; |
||
- | 261 | |
||
- | 262 | code = jQuery.trim( code ); |
||
- | 263 | |
||
- | 264 | if ( code ) { |
||
- | 265 | // If the code includes a valid, prologue position |
||
- | 266 | // strict mode pragma, execute code by injecting a |
||
- | 267 | // script tag into the document. |
||
277 | return typeof obj === "object" || typeof obj === "function" ? |
268 | if ( code.indexOf("use strict") === 1 ) { |
|
- | 269 | script = document.createElement("script"); |
||
- | 270 | script.text = code; |
||
278 | class2type[ toString.call( obj ) ] || "object" : |
271 | document.head.appendChild( script ).parentNode.removeChild( script ); |
|
Line 279... | Line 272... | |||
279 | typeof obj; |
272 | } else { |
|
280 | }, |
273 | // Otherwise, avoid the DOM node creation, insertion |
|
281 | |
274 | // and removal by using an indirect global eval |
|
282 | // Evaluates a script in a global context |
275 | indirect( code ); |
|
283 | globalEval: function( code ) { |
276 | } |
|
284 | DOMEval( code ); |
277 | } |
|
Line 285... | Line 278... | |||
285 | }, |
278 | }, |
|
286 | |
279 | |
|
287 | // Convert dashed to camelCase; used by the css and data modules |
280 | // Convert dashed to camelCase; used by the css and data modules |
|
Line -... | Line 281... | |||
- | 281 | // Support: IE9-11+ |
||
288 | // Support: IE <=9 - 11, Edge 12 - 13 |
282 | // Microsoft forgot to hump their vendor prefix (#9572) |
|
289 | // Microsoft forgot to hump their vendor prefix (#9572) |
283 | camelCase: function( string ) { |
|
- | 284 | return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); |
||
- | 285 | }, |
||
- | 286 | |
||
Line 290... | Line 287... | |||
290 | camelCase: function( string ) { |
287 | nodeName: function( elem, name ) { |
|
291 | return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); |
288 | return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); |
|
292 | }, |
289 | }, |
|
293 | |
290 | |
|
- | 291 | // args is for internal usage only |
||
- | 292 | each: function( obj, callback, args ) { |
||
294 | nodeName: function( elem, name ) { |
293 | var value, |
|
295 | return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); |
294 | i = 0, |
|
296 | }, |
295 | length = obj.length, |
|
297 | |
296 | isArray = isArraylike( obj ); |
|
298 | each: function( obj, callback ) { |
297 | |
|
299 | var length, i = 0; |
298 | if ( args ) { |
|
- | 299 | if ( isArray ) { |
||
- | 300 | for ( ; i < length; i++ ) { |
||
300 | |
301 | value = callback.apply( obj[ i ], args ); |
|
301 | if ( isArrayLike( obj ) ) { |
302 | |
|
302 | length = obj.length; |
303 | if ( value === false ) { |
|
303 | for ( ; i < length; i++ ) { |
304 | break; |
|
Line -... | Line 305... | |||
- | 305 | } |
||
- | 306 | } |
||
- | 307 | } else { |
||
- | 308 | for ( i in obj ) { |
||
- | 309 | value = callback.apply( obj[ i ], args ); |
||
- | 310 | |
||
- | 311 | if ( value === false ) { |
||
- | 312 | break; |
||
- | 313 | } |
||
- | 314 | } |
||
- | 315 | } |
||
- | 316 | |
||
- | 317 | // A special, fast, case for the most common use of each |
||
- | 318 | } else { |
||
- | 319 | if ( isArray ) { |
||
- | 320 | for ( ; i < length; i++ ) { |
||
- | 321 | value = callback.call( obj[ i ], i, obj[ i ] ); |
||
- | 322 | |
||
- | 323 | if ( value === false ) { |
||
- | 324 | break; |
||
- | 325 | } |
||
304 | if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { |
326 | } |
|
305 | break; |
327 | } else { |
|
Line 306... | Line 328... | |||
306 | } |
328 | for ( i in obj ) { |
|
307 | } |
329 | value = callback.call( obj[ i ], i, obj[ i ] ); |
|
308 | } else { |
330 | |
|
309 | for ( i in obj ) { |
331 | if ( value === false ) { |
|
310 | if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { |
332 | break; |
|
311 | break; |
333 | } |
|
Line 326... | Line 348... | |||
326 | // results is for internal usage only |
348 | // results is for internal usage only |
|
327 | makeArray: function( arr, results ) { |
349 | makeArray: function( arr, results ) { |
|
328 | var ret = results || []; |
350 | var ret = results || []; |
|
Line 329... | Line 351... | |||
329 | |
351 | |
|
330 | if ( arr != null ) { |
352 | if ( arr != null ) { |
|
331 | if ( isArrayLike( Object( arr ) ) ) { |
353 | if ( isArraylike( Object(arr) ) ) { |
|
332 | jQuery.merge( ret, |
354 | jQuery.merge( ret, |
|
333 | typeof arr === "string" ? |
355 | typeof arr === "string" ? |
|
334 | [ arr ] : arr |
356 | [ arr ] : arr |
|
335 | ); |
357 | ); |
|
Line 343... | Line 365... | |||
343 | |
365 | |
|
344 | inArray: function( elem, arr, i ) { |
366 | inArray: function( elem, arr, i ) { |
|
345 | return arr == null ? -1 : indexOf.call( arr, elem, i ); |
367 | return arr == null ? -1 : indexOf.call( arr, elem, i ); |
|
Line 346... | Line -... | |||
346 | }, |
- | ||
347 | |
- | ||
348 | // Support: Android <=4.0 only, PhantomJS 1 only |
368 | }, |
|
349 | // push.apply(_, arraylike) throws on ancient WebKit |
369 | |
|
350 | merge: function( first, second ) { |
370 | merge: function( first, second ) { |
|
351 | var len = +second.length, |
371 | var len = +second.length, |
|
Line 380... | Line 400... | |||
380 | return matches; |
400 | return matches; |
|
381 | }, |
401 | }, |
|
Line 382... | Line 402... | |||
382 | |
402 | |
|
383 | // arg is for internal usage only |
403 | // arg is for internal usage only |
|
384 | map: function( elems, callback, arg ) { |
404 | map: function( elems, callback, arg ) { |
|
385 | var length, value, |
405 | var value, |
|
- | 406 | i = 0, |
||
- | 407 | length = elems.length, |
||
386 | i = 0, |
408 | isArray = isArraylike( elems ), |
|
Line 387... | Line 409... | |||
387 | ret = []; |
409 | ret = []; |
|
388 | |
410 | |
|
389 | // Go through the array, translating each of the items to their new values |
- | ||
390 | if ( isArrayLike( elems ) ) { |
411 | // Go through the array, translating each of the items to their new values |
|
391 | length = elems.length; |
412 | if ( isArray ) { |
|
Line 392... | Line 413... | |||
392 | for ( ; i < length; i++ ) { |
413 | for ( ; i < length; i++ ) { |
|
393 | value = callback( elems[ i ], i, arg ); |
414 | value = callback( elems[ i ], i, arg ); |
|
Line 449... | Line 470... | |||
449 | // jQuery.support is not used in Core but other projects attach their |
470 | // jQuery.support is not used in Core but other projects attach their |
|
450 | // properties to it so it needs to exist. |
471 | // properties to it so it needs to exist. |
|
451 | support: support |
472 | support: support |
|
452 | } ); |
473 | }); |
|
Line 453... | Line -... | |||
453 | |
- | ||
454 | if ( typeof Symbol === "function" ) { |
- | ||
455 | jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; |
- | ||
456 | } |
- | ||
457 | |
474 | |
|
458 | // Populate the class2type map |
475 | // Populate the class2type map |
|
459 | jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), |
- | ||
460 | function( i, name ) { |
476 | jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { |
|
461 | class2type[ "[object " + name + "]" ] = name.toLowerCase(); |
477 | class2type[ "[object " + name + "]" ] = name.toLowerCase(); |
|
Line 462... | Line 478... | |||
462 | } ); |
478 | }); |
|
Line 463... | Line 479... | |||
463 | |
479 | |
|
464 | function isArrayLike( obj ) { |
480 | function isArraylike( obj ) { |
|
465 | |
481 | |
|
466 | // Support: real iOS 8.2 only (not reproducible in simulator) |
482 | // Support: iOS 8.2 (not reproducible in simulator) |
|
467 | // `in` check used to prevent JIT error (gh-2145) |
483 | // `in` check used to prevent JIT error (gh-2145) |
|
468 | // hasOwn isn't used here due to false negatives |
484 | // hasOwn isn't used here due to false negatives |
|
Line 469... | Line 485... | |||
469 | // regarding Nodelist length in IE |
485 | // regarding Nodelist length in IE |
|
470 | var length = !!obj && "length" in obj && obj.length, |
486 | var length = "length" in obj && obj.length, |
|
471 | type = jQuery.type( obj ); |
487 | type = jQuery.type( obj ); |
|
Line -... | Line 488... | |||
- | 488 | |
||
- | 489 | if ( type === "function" || jQuery.isWindow( obj ) ) { |
||
- | 490 | return false; |
||
- | 491 | } |
||
472 | |
492 | |
|
473 | if ( type === "function" || jQuery.isWindow( obj ) ) { |
493 | if ( obj.nodeType === 1 && length ) { |
|
474 | return false; |
494 | return true; |
|
Line 475... | Line 495... | |||
475 | } |
495 | } |