scratch – Diff between revs 58 and 125
?pathlinks?
Rev 58 | Rev 125 | |||
---|---|---|---|---|
Line 1... | Line 1... | |||
1 | // Initialize a jQuery object |
1 | // Initialize a jQuery object |
|
2 | define( [ |
2 | define([ |
|
3 | "../core", |
3 | "../core", |
|
4 | "../var/document", |
- | ||
5 | "./var/rsingleTag", |
4 | "./var/rsingleTag", |
|
6 | "../traversing/findFilter" |
5 | "../traversing/findFilter" |
|
7 | ], function( jQuery, document, rsingleTag ) { |
6 | ], function( jQuery, rsingleTag ) { |
|
8 | |
- | ||
9 | "use strict"; |
- | ||
Line 10... | Line 7... | |||
10 | |
7 | |
|
11 | // A central reference to the root jQuery(document) |
8 | // A central reference to the root jQuery(document) |
|
Line 12... | Line 9... | |||
12 | var rootjQuery, |
9 | var rootjQuery, |
|
13 | |
10 | |
|
14 | // A simple way to check for HTML strings |
11 | // A simple way to check for HTML strings |
|
15 | // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) |
- | ||
16 | // Strict HTML recognition (#11290: must start with <) |
12 | // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) |
|
Line 17... | Line 13... | |||
17 | // Shortcut simple #id case for speed |
13 | // Strict HTML recognition (#11290: must start with <) |
|
18 | rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,[\w\W]+> |
14 | rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,[\w\W]+> |
|
Line 19... | Line 15... | |||
19 | |
15 | |
|
20 | <[\w\W]+> init = jQuery.fn.init = function( selector, context, root ) {[\w\W]+> |
16 | <[\w\W]+> init = jQuery.fn.init = function( selector, context ) {[\w\W]+> |
|
21 | <[\w\W]+> var match, elem;[\w\W]+> |
17 | <[\w\W]+> var match, elem;[\w\W]+> |
|
22 | |
18 | |
|
Line 23... | Line -... | |||
23 | <[\w\W]+> // HANDLE: $(""), $(null), $(undefined), $(false)[\w\W]+> |
- | ||
24 | <[\w\W]+> if ( !selector ) {[\w\W]+> |
- | ||
25 | <[\w\W]+> return this;[\w\W]+> |
- | ||
26 | <[\w\W]+> }[\w\W]+> |
- | ||
27 | |
19 | <[\w\W]+> // HANDLE: $(""), $(null), $(undefined), $(false)[\w\W]+> |
|
28 | <[\w\W]+> // Method init() accepts an alternate rootjQuery[\w\W]+> |
20 | <[\w\W]+> if ( !selector ) {[\w\W]+> |
|
29 | <[\w\W]+> // so migrate can support jQuery.sub (gh-2101)[\w\W]+> |
- | ||
30 | <[\w\W]+> root = root || rootjQuery;[\w\W]+> |
21 | <[\w\W]+> return this;[\w\W]+> |
|
31 | |
- | ||
32 | <[\w\W]+> // Handle HTML strings[\w\W]+> |
- | ||
33 | <[\w\W]+> if ( typeof selector === "string" ) {[\w\W]+> |
22 | <[\w\W]+> }[\w\W]+> |
|
34 | <[\w\W]+> if ( selector[ 0 ] === "<" &&[\w\W]+> |
23 | |
|
Line 35... | Line 24... | |||
35 | <[\w\W]+> selector[ selector.length - 1 ] === ">" &&[\w\W]+> |
24 | <[\w\W]+> // Handle HTML strings[\w\W]+> |
|
36 | <[\w\W]+> selector.length >= 3 ) {[\w\W]+> |
25 | <[\w\W]+> if ( typeof selector === "string" ) {[\w\W]+> |
|
Line 58... | Line 47... | |||
58 | <[\w\W]+> ) );[\w\W]+> |
47 | <[\w\W]+> ) );[\w\W]+> |
|
Line 59... | Line 48... | |||
59 | |
48 | |
|
60 | <[\w\W]+> // HANDLE: $(html, props)[\w\W]+> |
49 | <[\w\W]+> // HANDLE: $(html, props)[\w\W]+> |
|
61 | <[\w\W]+> if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {[\w\W]+> |
50 | <[\w\W]+> if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {[\w\W]+> |
|
62 | <[\w\W]+> for ( match in context ) {[\w\W]+> |
- | ||
63 | |
51 | <[\w\W]+> for ( match in context ) {[\w\W]+> |
|
64 | <[\w\W]+> // Properties of context are called as methods if possible[\w\W]+> |
52 | <[\w\W]+> // Properties of context are called as methods if possible[\w\W]+> |
|
65 | <[\w\W]+> if ( jQuery.isFunction( this[ match ] ) ) {[\w\W]+> |
53 | <[\w\W]+> if ( jQuery.isFunction( this[ match ] ) ) {[\w\W]+> |
|
Line 66... | Line 54... | |||
66 | <[\w\W]+> this[ match ]( context[ match ] );[\w\W]+> |
54 | <[\w\W]+> this[ match ]( context[ match ] );[\w\W]+> |
|
Line 76... | Line 64... | |||
76 | |
64 | |
|
77 | <[\w\W]+> // HANDLE: $(#id)[\w\W]+> |
65 | <[\w\W]+> // HANDLE: $(#id)[\w\W]+> |
|
78 | <[\w\W]+> } else {[\w\W]+> |
66 | <[\w\W]+> } else {[\w\W]+> |
|
Line -... | Line 67... | |||
- | 67 | <[\w\W]+> elem = document.getElementById( match[2] );[\w\W]+> |
||
- | 68 | |
||
79 | <[\w\W]+> elem = document.getElementById( match[ 2 ] );[\w\W]+> |
69 | <[\w\W]+> // Support: Blackberry 4.6[\w\W]+> |
|
80 | |
- | ||
81 | <[\w\W]+> if ( elem ) {[\w\W]+> |
70 | <[\w\W]+> // gEBID returns nodes no longer in the document (#6963)[\w\W]+> |
|
82 | |
- | ||
83 | <[\w\W]+> // Inject the element directly into the jQuery object[\w\W]+> |
71 | <[\w\W]+> if ( elem && elem.parentNode ) {[\w\W]+> |
|
- | 72 | <[\w\W]+> // Inject the element directly into the jQuery object[\w\W]+> |
||
84 | <[\w\W]+> this[ 0 ] = elem;[\w\W]+> |
73 | <[\w\W]+> this.length = 1;[\w\W]+> |
|
- | 74 | <[\w\W]+> this[0] = elem;[\w\W]+> |
||
- | 75 | <[\w\W]+> }[\w\W]+> |
||
- | 76 | |
||
85 | <[\w\W]+> this.length = 1;[\w\W]+> |
77 | <[\w\W]+> this.context = document;[\w\W]+> |
|
86 | <[\w\W]+> }[\w\W]+> |
78 | <[\w\W]+> this.selector = selector;[\w\W]+> |
|
Line 87... | Line 79... | |||
87 | <[\w\W]+> return this;[\w\W]+> |
79 | <[\w\W]+> return this;[\w\W]+> |
|
88 | <[\w\W]+> }[\w\W]+> |
80 | <[\w\W]+> }[\w\W]+> |
|
89 | |
81 | |
|
Line 90... | Line 82... | |||
90 | <[\w\W]+> // HANDLE: $(expr, $(...))[\w\W]+> |
82 | <[\w\W]+> // HANDLE: $(expr, $(...))[\w\W]+> |
|
91 | <[\w\W]+> } else if ( !context || context.jquery ) {[\w\W]+> |
83 | <[\w\W]+> } else if ( !context || context.jquery ) {[\w\W]+> |
|
92 | <[\w\W]+> return ( context || root ).find( selector );[\w\W]+> |
84 | <[\w\W]+> return ( context || rootjQuery ).find( selector );[\w\W]+> |
|
93 | |
85 | |
|
94 | <[\w\W]+> // HANDLE: $(expr, context)[\w\W]+> |
86 | <[\w\W]+> // HANDLE: $(expr, context)[\w\W]+> |
|
Line 95... | Line 87... | |||
95 | <[\w\W]+> // (which is just equivalent to: $(context).find(expr)[\w\W]+> |
87 | <[\w\W]+> // (which is just equivalent to: $(context).find(expr)[\w\W]+> |
|
96 | <[\w\W]+> } else {[\w\W]+> |
88 | <[\w\W]+> } else {[\w\W]+> |
|
97 | <[\w\W]+> return this.constructor( context ).find( selector );[\w\W]+> |
89 | <[\w\W]+> return this.constructor( context ).find( selector );[\w\W]+> |
|
98 | <[\w\W]+> }[\w\W]+> |
90 | <[\w\W]+> }[\w\W]+> |
|
99 | |
91 | |
|
Line 100... | Line 92... | |||
100 | <[\w\W]+> // HANDLE: $(DOMElement)[\w\W]+> |
92 | <[\w\W]+> // HANDLE: $(DOMElement)[\w\W]+> |
|
101 | <[\w\W]+> } else if ( selector.nodeType ) {[\w\W]+> |
93 | <[\w\W]+> } else if ( selector.nodeType ) {[\w\W]+> |
|
102 | <[\w\W]+> this[ 0 ] = selector;[\w\W]+> |
94 | <[\w\W]+> this.context = this[0] = selector;[\w\W]+> |
|
103 | <[\w\W]+> this.length = 1;[\w\W]+> |
95 | <[\w\W]+> this.length = 1;[\w\W]+> |
|
104 | <[\w\W]+> return this;[\w\W]+> |
96 | <[\w\W]+> return this;[\w\W]+> |
|
105 | |
- | ||
106 | <[\w\W]+> // HANDLE: $(function)[\w\W]+> |
97 | |
|
107 | <[\w\W]+> // Shortcut for document ready[\w\W]+> |
98 | <[\w\W]+> // HANDLE: $(function)[\w\W]+> |
|
108 | <[\w\W]+> } else if ( jQuery.isFunction( selector ) ) {[\w\W]+> |
99 | <[\w\W]+> // Shortcut for document ready[\w\W]+> |
|
Line -... | Line 100... | |||
- | 100 | <[\w\W]+> } else if ( jQuery.isFunction( selector ) ) {[\w\W]+> |
||
- | 101 | <[\w\W]+> return typeof rootjQuery.ready !== "undefined" ?[\w\W]+> |
||
- | 102 | <[\w\W]+> rootjQuery.ready( selector ) :[\w\W]+> |
||
- | 103 | <[\w\W]+> // Execute immediately if ready is not present[\w\W]+> |
||
- | 104 | <[\w\W]+> selector( jQuery );[\w\W]+> |
||
109 | <[\w\W]+> return root.ready !== undefined ?[\w\W]+> |
105 | <[\w\W]+> }[\w\W]+> |
|
110 | <[\w\W]+> root.ready( selector ) :[\w\W]+> |
106 | |
|
Line 111... | Line 107... | |||
111 | |
107 | <[\w\W]+> if ( selector.selector !== undefined ) {[\w\W]+> |
|
112 | <[\w\W]+> // Execute immediately if ready is not present[\w\W]+> |
108 | <[\w\W]+> this.selector = selector.selector;[\w\W]+> |