| author | ymh <ymh.work@gmail.com> |
| Fri, 08 Apr 2011 17:21:37 +0200 | |
| changeset 69 | 4775601a2531 |
| child 101 | 0b8e098398de |
| permissions | -rw-r--r-- |
|
69
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
/*! |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
* jQuery JavaScript Library v1.5 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
* http://jquery.com/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
* |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
* Copyright 2011, John Resig |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
* Dual licensed under the MIT or GPL Version 2 licenses. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
* http://jquery.org/license |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
* |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
* Includes Sizzle.js |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
* http://sizzlejs.com/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
* Copyright 2011, The Dojo Foundation |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
* Released under the MIT, BSD, and GPL Licenses. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
* |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
* Date: Mon Jan 31 08:31:29 2011 -0500 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
*/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
(function( window, undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
// Use the correct document accordingly with window argument (sandbox) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
var document = window.document; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
var jQuery = (function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
// Define a local copy of jQuery |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
var jQuery = function( selector, context ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
// The jQuery object is actually just the init constructor 'enhanced' |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
return new jQuery.fn.init( selector, context, rootjQuery ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
// Map over jQuery in case of overwrite |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
_jQuery = window.jQuery, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
// Map over the $ in case of overwrite |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
_$ = window.$, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
// A central reference to the root jQuery(document) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
rootjQuery, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
// A simple way to check for HTML strings or ID strings |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
// (both of which we optimize for) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
// Check if a string has a non-whitespace character in it |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
rnotwhite = /\S/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
// Used for trimming whitespace |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
trimLeft = /^\s+/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
trimRight = /\s+$/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
// Check for digits |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
rdigit = /\d/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
// Match a standalone tag |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
54 |
// JSON RegExp |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
55 |
rvalidchars = /^[\],:{}\s]*$/,
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
56 |
rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
58 |
rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
59 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
60 |
// Useragent RegExp |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
61 |
rwebkit = /(webkit)[ \/]([\w.]+)/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
62 |
ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
63 |
rmsie = /(msie) ([\w.]+)/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
64 |
rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
65 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
66 |
// Keep a UserAgent string for use with jQuery.browser |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
67 |
userAgent = navigator.userAgent, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
68 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
69 |
// For matching the engine and version of the browser |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
70 |
browserMatch, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
71 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
72 |
// Has the ready events already been bound? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
73 |
readyBound = false, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
74 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
75 |
// The deferred used on DOM ready |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
76 |
readyList, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
77 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
78 |
// Promise methods |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
79 |
promiseMethods = "then done fail isResolved isRejected promise".split( " " ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
80 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
81 |
// The ready event handler |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
82 |
DOMContentLoaded, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
83 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
84 |
// Save a reference to some core methods |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
85 |
toString = Object.prototype.toString, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
86 |
hasOwn = Object.prototype.hasOwnProperty, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
87 |
push = Array.prototype.push, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
88 |
slice = Array.prototype.slice, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
89 |
trim = String.prototype.trim, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
90 |
indexOf = Array.prototype.indexOf, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
91 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
92 |
// [[Class]] -> type pairs |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
93 |
class2type = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
94 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
95 |
jQuery.fn = jQuery.prototype = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
96 |
constructor: jQuery, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
97 |
init: function( selector, context, rootjQuery ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
98 |
var match, elem, ret, doc; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
99 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
100 |
// Handle $(""), $(null), or $(undefined)
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
101 |
if ( !selector ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
102 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
103 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
104 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
105 |
// Handle $(DOMElement) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
106 |
if ( selector.nodeType ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
107 |
this.context = this[0] = selector; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
108 |
this.length = 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
109 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
110 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
111 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
112 |
// The body element only exists once, optimize finding it |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
113 |
if ( selector === "body" && !context && document.body ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
114 |
this.context = document; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
115 |
this[0] = document.body; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
116 |
this.selector = "body"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
117 |
this.length = 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
118 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
119 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
120 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
121 |
// Handle HTML strings |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
122 |
if ( typeof selector === "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
123 |
// Are we dealing with HTML string or an ID? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
124 |
match = quickExpr.exec( selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
125 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
126 |
// Verify a match, and that no context was specified for #id |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
127 |
if ( match && (match[1] || !context) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
128 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
129 |
// HANDLE: $(html) -> $(array) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
130 |
if ( match[1] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
131 |
context = context instanceof jQuery ? context[0] : context; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
132 |
doc = (context ? context.ownerDocument || context : document); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
133 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
134 |
// If a single string is passed in and it's a single tag |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
135 |
// just do a createElement and skip the rest |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
136 |
ret = rsingleTag.exec( selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
137 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
138 |
if ( ret ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
139 |
if ( jQuery.isPlainObject( context ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
140 |
selector = [ document.createElement( ret[1] ) ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
141 |
jQuery.fn.attr.call( selector, context, true ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
142 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
143 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
144 |
selector = [ doc.createElement( ret[1] ) ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
145 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
146 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
147 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
148 |
ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
149 |
selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
150 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
151 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
152 |
return jQuery.merge( this, selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
153 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
154 |
// HANDLE: $("#id")
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
155 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
156 |
elem = document.getElementById( match[2] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
157 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
158 |
// Check parentNode to catch when Blackberry 4.6 returns |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
159 |
// nodes that are no longer in the document #6963 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
160 |
if ( elem && elem.parentNode ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
161 |
// Handle the case where IE and Opera return items |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
162 |
// by name instead of ID |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
163 |
if ( elem.id !== match[2] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
164 |
return rootjQuery.find( selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
165 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
166 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
167 |
// Otherwise, we inject the element directly into the jQuery object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
168 |
this.length = 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
169 |
this[0] = elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
170 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
171 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
172 |
this.context = document; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
173 |
this.selector = selector; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
174 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
175 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
176 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
177 |
// HANDLE: $(expr, $(...)) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
178 |
} else if ( !context || context.jquery ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
179 |
return (context || rootjQuery).find( selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
180 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
181 |
// HANDLE: $(expr, context) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
182 |
// (which is just equivalent to: $(context).find(expr) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
183 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
184 |
return this.constructor( context ).find( selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
185 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
186 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
187 |
// HANDLE: $(function) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
188 |
// Shortcut for document ready |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
189 |
} else if ( jQuery.isFunction( selector ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
190 |
return rootjQuery.ready( selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
191 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
192 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
193 |
if (selector.selector !== undefined) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
194 |
this.selector = selector.selector; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
195 |
this.context = selector.context; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
196 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
197 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
198 |
return jQuery.makeArray( selector, this ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
199 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
200 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
201 |
// Start with an empty selector |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
202 |
selector: "", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
203 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
204 |
// The current version of jQuery being used |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
205 |
jquery: "1.5", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
206 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
207 |
// The default length of a jQuery object is 0 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
208 |
length: 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
209 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
210 |
// The number of elements contained in the matched element set |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
211 |
size: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
212 |
return this.length; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
213 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
214 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
215 |
toArray: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
216 |
return slice.call( this, 0 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
217 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
218 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
219 |
// Get the Nth element in the matched element set OR |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
220 |
// Get the whole matched element set as a clean array |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
221 |
get: function( num ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
222 |
return num == null ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
223 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
224 |
// Return a 'clean' array |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
225 |
this.toArray() : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
226 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
227 |
// Return just the object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
228 |
( num < 0 ? this[ this.length + num ] : this[ num ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
229 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
230 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
231 |
// Take an array of elements and push it onto the stack |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
232 |
// (returning the new matched element set) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
233 |
pushStack: function( elems, name, selector ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
234 |
// Build a new jQuery matched element set |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
235 |
var ret = this.constructor(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
236 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
237 |
if ( jQuery.isArray( elems ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
238 |
push.apply( ret, elems ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
239 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
240 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
241 |
jQuery.merge( ret, elems ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
242 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
243 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
244 |
// Add the old object onto the stack (as a reference) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
245 |
ret.prevObject = this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
246 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
247 |
ret.context = this.context; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
248 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
249 |
if ( name === "find" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
250 |
ret.selector = this.selector + (this.selector ? " " : "") + selector; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
251 |
} else if ( name ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
252 |
ret.selector = this.selector + "." + name + "(" + selector + ")";
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
253 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
254 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
255 |
// Return the newly-formed element set |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
256 |
return ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
257 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
258 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
259 |
// Execute a callback for every element in the matched set. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
260 |
// (You can seed the arguments with an array of args, but this is |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
261 |
// only used internally.) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
262 |
each: function( callback, args ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
263 |
return jQuery.each( this, callback, args ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
264 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
265 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
266 |
ready: function( fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
267 |
// Attach the listeners |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
268 |
jQuery.bindReady(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
269 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
270 |
// Add the callback |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
271 |
readyList.done( fn ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
272 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
273 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
274 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
275 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
276 |
eq: function( i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
277 |
return i === -1 ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
278 |
this.slice( i ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
279 |
this.slice( i, +i + 1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
280 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
281 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
282 |
first: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
283 |
return this.eq( 0 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
284 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
285 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
286 |
last: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
287 |
return this.eq( -1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
288 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
289 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
290 |
slice: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
291 |
return this.pushStack( slice.apply( this, arguments ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
292 |
"slice", slice.call(arguments).join(",") );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
293 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
294 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
295 |
map: function( callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
296 |
return this.pushStack( jQuery.map(this, function( elem, i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
297 |
return callback.call( elem, i, elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
298 |
})); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
299 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
300 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
301 |
end: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
302 |
return this.prevObject || this.constructor(null); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
303 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
304 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
305 |
// For internal use only. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
306 |
// Behaves like an Array's method, not like a jQuery method. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
307 |
push: push, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
308 |
sort: [].sort, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
309 |
splice: [].splice |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
310 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
311 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
312 |
// Give the init function the jQuery prototype for later instantiation |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
313 |
jQuery.fn.init.prototype = jQuery.fn; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
314 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
315 |
jQuery.extend = jQuery.fn.extend = function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
316 |
var options, name, src, copy, copyIsArray, clone, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
317 |
target = arguments[0] || {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
318 |
i = 1, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
319 |
length = arguments.length, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
320 |
deep = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
321 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
322 |
// Handle a deep copy situation |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
323 |
if ( typeof target === "boolean" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
324 |
deep = target; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
325 |
target = arguments[1] || {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
326 |
// skip the boolean and the target |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
327 |
i = 2; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
328 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
329 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
330 |
// Handle case when target is a string or something (possible in deep copy) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
331 |
if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
332 |
target = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
333 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
334 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
335 |
// extend jQuery itself if only one argument is passed |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
336 |
if ( length === i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
337 |
target = this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
338 |
--i; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
339 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
340 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
341 |
for ( ; i < length; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
342 |
// Only deal with non-null/undefined values |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
343 |
if ( (options = arguments[ i ]) != null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
344 |
// Extend the base object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
345 |
for ( name in options ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
346 |
src = target[ name ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
347 |
copy = options[ name ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
348 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
349 |
// Prevent never-ending loop |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
350 |
if ( target === copy ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
351 |
continue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
352 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
353 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
354 |
// Recurse if we're merging plain objects or arrays |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
355 |
if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
356 |
if ( copyIsArray ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
357 |
copyIsArray = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
358 |
clone = src && jQuery.isArray(src) ? src : []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
359 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
360 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
361 |
clone = src && jQuery.isPlainObject(src) ? src : {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
362 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
363 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
364 |
// Never move original objects, clone them |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
365 |
target[ name ] = jQuery.extend( deep, clone, copy ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
366 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
367 |
// Don't bring in undefined values |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
368 |
} else if ( copy !== undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
369 |
target[ name ] = copy; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
370 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
371 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
372 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
373 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
374 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
375 |
// Return the modified object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
376 |
return target; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
377 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
378 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
379 |
jQuery.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
380 |
noConflict: function( deep ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
381 |
window.$ = _$; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
382 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
383 |
if ( deep ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
384 |
window.jQuery = _jQuery; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
385 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
386 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
387 |
return jQuery; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
388 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
389 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
390 |
// Is the DOM ready to be used? Set to true once it occurs. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
391 |
isReady: false, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
392 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
393 |
// A counter to track how many items to wait for before |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
394 |
// the ready event fires. See #6781 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
395 |
readyWait: 1, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
396 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
397 |
// Handle when the DOM is ready |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
398 |
ready: function( wait ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
399 |
// A third-party is pushing the ready event forwards |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
400 |
if ( wait === true ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
401 |
jQuery.readyWait--; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
402 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
403 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
404 |
// Make sure that the DOM is not already loaded |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
405 |
if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
406 |
// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
407 |
if ( !document.body ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
408 |
return setTimeout( jQuery.ready, 1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
409 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
410 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
411 |
// Remember that the DOM is ready |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
412 |
jQuery.isReady = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
413 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
414 |
// If a normal DOM Ready event fired, decrement, and wait if need be |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
415 |
if ( wait !== true && --jQuery.readyWait > 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
416 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
417 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
418 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
419 |
// If there are functions bound, to execute |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
420 |
readyList.resolveWith( document, [ jQuery ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
421 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
422 |
// Trigger any bound ready events |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
423 |
if ( jQuery.fn.trigger ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
424 |
jQuery( document ).trigger( "ready" ).unbind( "ready" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
425 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
426 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
427 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
428 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
429 |
bindReady: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
430 |
if ( readyBound ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
431 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
432 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
433 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
434 |
readyBound = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
435 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
436 |
// Catch cases where $(document).ready() is called after the |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
437 |
// browser event has already occurred. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
438 |
if ( document.readyState === "complete" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
439 |
// Handle it asynchronously to allow scripts the opportunity to delay ready |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
440 |
return setTimeout( jQuery.ready, 1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
441 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
442 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
443 |
// Mozilla, Opera and webkit nightlies currently support this event |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
444 |
if ( document.addEventListener ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
445 |
// Use the handy event callback |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
446 |
document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
447 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
448 |
// A fallback to window.onload, that will always work |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
449 |
window.addEventListener( "load", jQuery.ready, false ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
450 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
451 |
// If IE event model is used |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
452 |
} else if ( document.attachEvent ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
453 |
// ensure firing before onload, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
454 |
// maybe late but safe also for iframes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
455 |
document.attachEvent("onreadystatechange", DOMContentLoaded);
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
456 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
457 |
// A fallback to window.onload, that will always work |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
458 |
window.attachEvent( "onload", jQuery.ready ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
459 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
460 |
// If IE and not a frame |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
461 |
// continually check to see if the document is ready |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
462 |
var toplevel = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
463 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
464 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
465 |
toplevel = window.frameElement == null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
466 |
} catch(e) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
467 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
468 |
if ( document.documentElement.doScroll && toplevel ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
469 |
doScrollCheck(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
470 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
471 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
472 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
473 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
474 |
// See test/unit/core.js for details concerning isFunction. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
475 |
// Since version 1.3, DOM methods and functions like alert |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
476 |
// aren't supported. They return false on IE (#2968). |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
477 |
isFunction: function( obj ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
478 |
return jQuery.type(obj) === "function"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
479 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
480 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
481 |
isArray: Array.isArray || function( obj ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
482 |
return jQuery.type(obj) === "array"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
483 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
484 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
485 |
// A crude way of determining if an object is a window |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
486 |
isWindow: function( obj ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
487 |
return obj && typeof obj === "object" && "setInterval" in obj; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
488 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
489 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
490 |
isNaN: function( obj ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
491 |
return obj == null || !rdigit.test( obj ) || isNaN( obj ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
492 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
493 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
494 |
type: function( obj ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
495 |
return obj == null ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
496 |
String( obj ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
497 |
class2type[ toString.call(obj) ] || "object"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
498 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
499 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
500 |
isPlainObject: function( obj ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
501 |
// Must be an Object. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
502 |
// Because of IE, we also have to check the presence of the constructor property. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
503 |
// Make sure that DOM nodes and window objects don't pass through, as well |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
504 |
if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
505 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
506 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
507 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
508 |
// Not own constructor property must be Object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
509 |
if ( obj.constructor && |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
510 |
!hasOwn.call(obj, "constructor") && |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
511 |
!hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
512 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
513 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
514 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
515 |
// Own properties are enumerated firstly, so to speed up, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
516 |
// if last one is own, then all properties are own. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
517 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
518 |
var key; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
519 |
for ( key in obj ) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
520 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
521 |
return key === undefined || hasOwn.call( obj, key ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
522 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
523 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
524 |
isEmptyObject: function( obj ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
525 |
for ( var name in obj ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
526 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
527 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
528 |
return true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
529 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
530 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
531 |
error: function( msg ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
532 |
throw msg; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
533 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
534 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
535 |
parseJSON: function( data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
536 |
if ( typeof data !== "string" || !data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
537 |
return null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
538 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
539 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
540 |
// Make sure leading/trailing whitespace is removed (IE can't handle it) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
541 |
data = jQuery.trim( data ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
542 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
543 |
// Make sure the incoming data is actual JSON |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
544 |
// Logic borrowed from http://json.org/json2.js |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
545 |
if ( rvalidchars.test(data.replace(rvalidescape, "@") |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
546 |
.replace(rvalidtokens, "]") |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
547 |
.replace(rvalidbraces, "")) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
548 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
549 |
// Try to use the native JSON parser first |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
550 |
return window.JSON && window.JSON.parse ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
551 |
window.JSON.parse( data ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
552 |
(new Function("return " + data))();
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
553 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
554 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
555 |
jQuery.error( "Invalid JSON: " + data ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
556 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
557 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
558 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
559 |
// Cross-browser xml parsing |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
560 |
// (xml & tmp used internally) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
561 |
parseXML: function( data , xml , tmp ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
562 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
563 |
if ( window.DOMParser ) { // Standard
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
564 |
tmp = new DOMParser(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
565 |
xml = tmp.parseFromString( data , "text/xml" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
566 |
} else { // IE
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
567 |
xml = new ActiveXObject( "Microsoft.XMLDOM" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
568 |
xml.async = "false"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
569 |
xml.loadXML( data ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
570 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
571 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
572 |
tmp = xml.documentElement; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
573 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
574 |
if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
575 |
jQuery.error( "Invalid XML: " + data ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
576 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
577 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
578 |
return xml; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
579 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
580 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
581 |
noop: function() {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
582 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
583 |
// Evalulates a script in a global context |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
584 |
globalEval: function( data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
585 |
if ( data && rnotwhite.test(data) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
586 |
// Inspired by code by Andrea Giammarchi |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
587 |
// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
588 |
var head = document.getElementsByTagName("head")[0] || document.documentElement,
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
589 |
script = document.createElement("script");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
590 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
591 |
script.type = "text/javascript"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
592 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
593 |
if ( jQuery.support.scriptEval() ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
594 |
script.appendChild( document.createTextNode( data ) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
595 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
596 |
script.text = data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
597 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
598 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
599 |
// Use insertBefore instead of appendChild to circumvent an IE6 bug. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
600 |
// This arises when a base node is used (#2709). |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
601 |
head.insertBefore( script, head.firstChild ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
602 |
head.removeChild( script ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
603 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
604 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
605 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
606 |
nodeName: function( elem, name ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
607 |
return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
608 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
609 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
610 |
// args is for internal usage only |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
611 |
each: function( object, callback, args ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
612 |
var name, i = 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
613 |
length = object.length, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
614 |
isObj = length === undefined || jQuery.isFunction(object); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
615 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
616 |
if ( args ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
617 |
if ( isObj ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
618 |
for ( name in object ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
619 |
if ( callback.apply( object[ name ], args ) === false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
620 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
621 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
622 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
623 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
624 |
for ( ; i < length; ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
625 |
if ( callback.apply( object[ i++ ], args ) === false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
626 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
627 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
628 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
629 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
630 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
631 |
// A special, fast, case for the most common use of each |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
632 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
633 |
if ( isObj ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
634 |
for ( name in object ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
635 |
if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
636 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
637 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
638 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
639 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
640 |
for ( var value = object[0]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
641 |
i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
642 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
643 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
644 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
645 |
return object; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
646 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
647 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
648 |
// Use native String.trim function wherever possible |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
649 |
trim: trim ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
650 |
function( text ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
651 |
return text == null ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
652 |
"" : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
653 |
trim.call( text ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
654 |
} : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
655 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
656 |
// Otherwise use our own trimming functionality |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
657 |
function( text ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
658 |
return text == null ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
659 |
"" : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
660 |
text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
661 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
662 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
663 |
// results is for internal usage only |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
664 |
makeArray: function( array, results ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
665 |
var ret = results || []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
666 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
667 |
if ( array != null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
668 |
// The window, strings (and functions) also have 'length' |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
669 |
// The extra typeof function check is to prevent crashes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
670 |
// in Safari 2 (See: #3039) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
671 |
// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
672 |
var type = jQuery.type(array); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
673 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
674 |
if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
675 |
push.call( ret, array ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
676 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
677 |
jQuery.merge( ret, array ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
678 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
679 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
680 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
681 |
return ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
682 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
683 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
684 |
inArray: function( elem, array ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
685 |
if ( array.indexOf ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
686 |
return array.indexOf( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
687 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
688 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
689 |
for ( var i = 0, length = array.length; i < length; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
690 |
if ( array[ i ] === elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
691 |
return i; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
692 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
693 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
694 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
695 |
return -1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
696 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
697 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
698 |
merge: function( first, second ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
699 |
var i = first.length, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
700 |
j = 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
701 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
702 |
if ( typeof second.length === "number" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
703 |
for ( var l = second.length; j < l; j++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
704 |
first[ i++ ] = second[ j ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
705 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
706 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
707 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
708 |
while ( second[j] !== undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
709 |
first[ i++ ] = second[ j++ ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
710 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
711 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
712 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
713 |
first.length = i; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
714 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
715 |
return first; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
716 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
717 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
718 |
grep: function( elems, callback, inv ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
719 |
var ret = [], retVal; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
720 |
inv = !!inv; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
721 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
722 |
// Go through the array, only saving the items |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
723 |
// that pass the validator function |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
724 |
for ( var i = 0, length = elems.length; i < length; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
725 |
retVal = !!callback( elems[ i ], i ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
726 |
if ( inv !== retVal ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
727 |
ret.push( elems[ i ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
728 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
729 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
730 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
731 |
return ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
732 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
733 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
734 |
// arg is for internal usage only |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
735 |
map: function( elems, callback, arg ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
736 |
var ret = [], value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
737 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
738 |
// Go through the array, translating each of the items to their |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
739 |
// new value (or values). |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
740 |
for ( var i = 0, length = elems.length; i < length; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
741 |
value = callback( elems[ i ], i, arg ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
742 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
743 |
if ( value != null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
744 |
ret[ ret.length ] = value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
745 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
746 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
747 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
748 |
// Flatten any nested arrays |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
749 |
return ret.concat.apply( [], ret ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
750 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
751 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
752 |
// A global GUID counter for objects |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
753 |
guid: 1, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
754 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
755 |
proxy: function( fn, proxy, thisObject ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
756 |
if ( arguments.length === 2 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
757 |
if ( typeof proxy === "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
758 |
thisObject = fn; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
759 |
fn = thisObject[ proxy ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
760 |
proxy = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
761 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
762 |
} else if ( proxy && !jQuery.isFunction( proxy ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
763 |
thisObject = proxy; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
764 |
proxy = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
765 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
766 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
767 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
768 |
if ( !proxy && fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
769 |
proxy = function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
770 |
return fn.apply( thisObject || this, arguments ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
771 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
772 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
773 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
774 |
// Set the guid of unique handler to the same of original handler, so it can be removed |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
775 |
if ( fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
776 |
proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
777 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
778 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
779 |
// So proxy can be declared as an argument |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
780 |
return proxy; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
781 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
782 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
783 |
// Mutifunctional method to get and set values to a collection |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
784 |
// The value/s can be optionally by executed if its a function |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
785 |
access: function( elems, key, value, exec, fn, pass ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
786 |
var length = elems.length; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
787 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
788 |
// Setting many attributes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
789 |
if ( typeof key === "object" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
790 |
for ( var k in key ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
791 |
jQuery.access( elems, k, key[k], exec, fn, value ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
792 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
793 |
return elems; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
794 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
795 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
796 |
// Setting one attribute |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
797 |
if ( value !== undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
798 |
// Optionally, function values get executed if exec is true |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
799 |
exec = !pass && exec && jQuery.isFunction(value); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
800 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
801 |
for ( var i = 0; i < length; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
802 |
fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
803 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
804 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
805 |
return elems; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
806 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
807 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
808 |
// Getting an attribute |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
809 |
return length ? fn( elems[0], key ) : undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
810 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
811 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
812 |
now: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
813 |
return (new Date()).getTime(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
814 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
815 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
816 |
// Create a simple deferred (one callbacks list) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
817 |
_Deferred: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
818 |
var // callbacks list |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
819 |
callbacks = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
820 |
// stored [ context , args ] |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
821 |
fired, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
822 |
// to avoid firing when already doing so |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
823 |
firing, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
824 |
// flag to know if the deferred has been cancelled |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
825 |
cancelled, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
826 |
// the deferred itself |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
827 |
deferred = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
828 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
829 |
// done( f1, f2, ...) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
830 |
done: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
831 |
if ( !cancelled ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
832 |
var args = arguments, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
833 |
i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
834 |
length, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
835 |
elem, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
836 |
type, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
837 |
_fired; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
838 |
if ( fired ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
839 |
_fired = fired; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
840 |
fired = 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
841 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
842 |
for ( i = 0, length = args.length; i < length; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
843 |
elem = args[ i ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
844 |
type = jQuery.type( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
845 |
if ( type === "array" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
846 |
deferred.done.apply( deferred, elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
847 |
} else if ( type === "function" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
848 |
callbacks.push( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
849 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
850 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
851 |
if ( _fired ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
852 |
deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
853 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
854 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
855 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
856 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
857 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
858 |
// resolve with given context and args |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
859 |
resolveWith: function( context, args ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
860 |
if ( !cancelled && !fired && !firing ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
861 |
firing = 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
862 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
863 |
while( callbacks[ 0 ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
864 |
callbacks.shift().apply( context, args ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
865 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
866 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
867 |
finally {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
868 |
fired = [ context, args ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
869 |
firing = 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
870 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
871 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
872 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
873 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
874 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
875 |
// resolve with this as context and given arguments |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
876 |
resolve: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
877 |
deferred.resolveWith( jQuery.isFunction( this.promise ) ? this.promise() : this, arguments ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
878 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
879 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
880 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
881 |
// Has this deferred been resolved? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
882 |
isResolved: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
883 |
return !!( firing || fired ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
884 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
885 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
886 |
// Cancel |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
887 |
cancel: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
888 |
cancelled = 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
889 |
callbacks = []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
890 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
891 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
892 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
893 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
894 |
return deferred; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
895 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
896 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
897 |
// Full fledged deferred (two callbacks list) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
898 |
Deferred: function( func ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
899 |
var deferred = jQuery._Deferred(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
900 |
failDeferred = jQuery._Deferred(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
901 |
promise; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
902 |
// Add errorDeferred methods, then and promise |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
903 |
jQuery.extend( deferred, {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
904 |
then: function( doneCallbacks, failCallbacks ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
905 |
deferred.done( doneCallbacks ).fail( failCallbacks ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
906 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
907 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
908 |
fail: failDeferred.done, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
909 |
rejectWith: failDeferred.resolveWith, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
910 |
reject: failDeferred.resolve, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
911 |
isRejected: failDeferred.isResolved, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
912 |
// Get a promise for this deferred |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
913 |
// If obj is provided, the promise aspect is added to the object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
914 |
promise: function( obj , i /* internal */ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
915 |
if ( obj == null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
916 |
if ( promise ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
917 |
return promise; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
918 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
919 |
promise = obj = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
920 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
921 |
i = promiseMethods.length; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
922 |
while( i-- ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
923 |
obj[ promiseMethods[ i ] ] = deferred[ promiseMethods[ i ] ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
924 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
925 |
return obj; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
926 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
927 |
} ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
928 |
// Make sure only one callback list will be used |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
929 |
deferred.then( failDeferred.cancel, deferred.cancel ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
930 |
// Unexpose cancel |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
931 |
delete deferred.cancel; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
932 |
// Call given func if any |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
933 |
if ( func ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
934 |
func.call( deferred, deferred ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
935 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
936 |
return deferred; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
937 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
938 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
939 |
// Deferred helper |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
940 |
when: function( object ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
941 |
var args = arguments, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
942 |
length = args.length, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
943 |
deferred = length <= 1 && object && jQuery.isFunction( object.promise ) ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
944 |
object : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
945 |
jQuery.Deferred(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
946 |
promise = deferred.promise(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
947 |
resolveArray; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
948 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
949 |
if ( length > 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
950 |
resolveArray = new Array( length ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
951 |
jQuery.each( args, function( index, element ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
952 |
jQuery.when( element ).then( function( value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
953 |
resolveArray[ index ] = arguments.length > 1 ? slice.call( arguments, 0 ) : value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
954 |
if( ! --length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
955 |
deferred.resolveWith( promise, resolveArray ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
956 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
957 |
}, deferred.reject ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
958 |
} ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
959 |
} else if ( deferred !== object ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
960 |
deferred.resolve( object ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
961 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
962 |
return promise; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
963 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
964 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
965 |
// Use of jQuery.browser is frowned upon. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
966 |
// More details: http://docs.jquery.com/Utilities/jQuery.browser |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
967 |
uaMatch: function( ua ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
968 |
ua = ua.toLowerCase(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
969 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
970 |
var match = rwebkit.exec( ua ) || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
971 |
ropera.exec( ua ) || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
972 |
rmsie.exec( ua ) || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
973 |
ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
974 |
[]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
975 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
976 |
return { browser: match[1] || "", version: match[2] || "0" };
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
977 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
978 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
979 |
sub: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
980 |
function jQuerySubclass( selector, context ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
981 |
return new jQuerySubclass.fn.init( selector, context ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
982 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
983 |
jQuery.extend( true, jQuerySubclass, this ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
984 |
jQuerySubclass.superclass = this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
985 |
jQuerySubclass.fn = jQuerySubclass.prototype = this(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
986 |
jQuerySubclass.fn.constructor = jQuerySubclass; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
987 |
jQuerySubclass.subclass = this.subclass; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
988 |
jQuerySubclass.fn.init = function init( selector, context ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
989 |
if ( context && context instanceof jQuery && !(context instanceof jQuerySubclass) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
990 |
context = jQuerySubclass(context); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
991 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
992 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
993 |
return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
994 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
995 |
jQuerySubclass.fn.init.prototype = jQuerySubclass.fn; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
996 |
var rootjQuerySubclass = jQuerySubclass(document); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
997 |
return jQuerySubclass; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
998 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
999 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1000 |
browser: {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1001 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1002 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1003 |
// Create readyList deferred |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1004 |
readyList = jQuery._Deferred(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1005 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1006 |
// Populate the class2type map |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1007 |
jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1008 |
class2type[ "[object " + name + "]" ] = name.toLowerCase(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1009 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1010 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1011 |
browserMatch = jQuery.uaMatch( userAgent ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1012 |
if ( browserMatch.browser ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1013 |
jQuery.browser[ browserMatch.browser ] = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1014 |
jQuery.browser.version = browserMatch.version; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1015 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1016 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1017 |
// Deprecated, use jQuery.browser.webkit instead |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1018 |
if ( jQuery.browser.webkit ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1019 |
jQuery.browser.safari = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1020 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1021 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1022 |
if ( indexOf ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1023 |
jQuery.inArray = function( elem, array ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1024 |
return indexOf.call( array, elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1025 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1026 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1027 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1028 |
// IE doesn't match non-breaking spaces with \s |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1029 |
if ( rnotwhite.test( "\xA0" ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1030 |
trimLeft = /^[\s\xA0]+/; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1031 |
trimRight = /[\s\xA0]+$/; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1032 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1033 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1034 |
// All jQuery objects should point back to these |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1035 |
rootjQuery = jQuery(document); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1036 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1037 |
// Cleanup functions for the document ready method |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1038 |
if ( document.addEventListener ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1039 |
DOMContentLoaded = function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1040 |
document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1041 |
jQuery.ready(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1042 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1043 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1044 |
} else if ( document.attachEvent ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1045 |
DOMContentLoaded = function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1046 |
// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1047 |
if ( document.readyState === "complete" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1048 |
document.detachEvent( "onreadystatechange", DOMContentLoaded ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1049 |
jQuery.ready(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1050 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1051 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1052 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1053 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1054 |
// The DOM ready check for Internet Explorer |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1055 |
function doScrollCheck() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1056 |
if ( jQuery.isReady ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1057 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1058 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1059 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1060 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1061 |
// If IE is used, use the trick by Diego Perini |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1062 |
// http://javascript.nwbox.com/IEContentLoaded/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1063 |
document.documentElement.doScroll("left");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1064 |
} catch(e) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1065 |
setTimeout( doScrollCheck, 1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1066 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1067 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1068 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1069 |
// and execute any waiting functions |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1070 |
jQuery.ready(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1071 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1072 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1073 |
// Expose jQuery to the global object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1074 |
return (window.jQuery = window.$ = jQuery); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1075 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1076 |
})(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1077 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1078 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1079 |
(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1080 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1081 |
jQuery.support = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1082 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1083 |
var div = document.createElement("div");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1084 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1085 |
div.style.display = "none"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1086 |
div.innerHTML = " <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1087 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1088 |
var all = div.getElementsByTagName("*"),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1089 |
a = div.getElementsByTagName("a")[0],
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1090 |
select = document.createElement("select"),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1091 |
opt = select.appendChild( document.createElement("option") );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1092 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1093 |
// Can't get basic test support |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1094 |
if ( !all || !all.length || !a ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1095 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1096 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1097 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1098 |
jQuery.support = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1099 |
// IE strips leading whitespace when .innerHTML is used |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1100 |
leadingWhitespace: div.firstChild.nodeType === 3, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1101 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1102 |
// Make sure that tbody elements aren't automatically inserted |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1103 |
// IE will insert them into empty tables |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1104 |
tbody: !div.getElementsByTagName("tbody").length,
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1105 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1106 |
// Make sure that link elements get serialized correctly by innerHTML |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1107 |
// This requires a wrapper element in IE |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1108 |
htmlSerialize: !!div.getElementsByTagName("link").length,
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1109 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1110 |
// Get the style information from getAttribute |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1111 |
// (IE uses .cssText insted) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1112 |
style: /red/.test( a.getAttribute("style") ),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1113 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1114 |
// Make sure that URLs aren't manipulated |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1115 |
// (IE normalizes it by default) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1116 |
hrefNormalized: a.getAttribute("href") === "/a",
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1117 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1118 |
// Make sure that element opacity exists |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1119 |
// (IE uses filter instead) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1120 |
// Use a regex to work around a WebKit issue. See #5145 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1121 |
opacity: /^0.55$/.test( a.style.opacity ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1122 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1123 |
// Verify style float existence |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1124 |
// (IE uses styleFloat instead of cssFloat) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1125 |
cssFloat: !!a.style.cssFloat, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1126 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1127 |
// Make sure that if no value is specified for a checkbox |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1128 |
// that it defaults to "on". |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1129 |
// (WebKit defaults to "" instead) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1130 |
checkOn: div.getElementsByTagName("input")[0].value === "on",
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1131 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1132 |
// Make sure that a selected-by-default option has a working selected property. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1133 |
// (WebKit defaults to false instead of true, IE too, if it's in an optgroup) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1134 |
optSelected: opt.selected, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1135 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1136 |
// Will be defined later |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1137 |
deleteExpando: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1138 |
optDisabled: false, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1139 |
checkClone: false, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1140 |
_scriptEval: null, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1141 |
noCloneEvent: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1142 |
boxModel: null, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1143 |
inlineBlockNeedsLayout: false, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1144 |
shrinkWrapBlocks: false, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1145 |
reliableHiddenOffsets: true |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1146 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1147 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1148 |
// Make sure that the options inside disabled selects aren't marked as disabled |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1149 |
// (WebKit marks them as diabled) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1150 |
select.disabled = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1151 |
jQuery.support.optDisabled = !opt.disabled; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1152 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1153 |
jQuery.support.scriptEval = function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1154 |
if ( jQuery.support._scriptEval === null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1155 |
var root = document.documentElement, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1156 |
script = document.createElement("script"),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1157 |
id = "script" + jQuery.now(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1158 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1159 |
script.type = "text/javascript"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1160 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1161 |
script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1162 |
} catch(e) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1163 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1164 |
root.insertBefore( script, root.firstChild ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1165 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1166 |
// Make sure that the execution of code works by injecting a script |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1167 |
// tag with appendChild/createTextNode |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1168 |
// (IE doesn't support this, fails, and uses .text instead) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1169 |
if ( window[ id ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1170 |
jQuery.support._scriptEval = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1171 |
delete window[ id ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1172 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1173 |
jQuery.support._scriptEval = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1174 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1175 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1176 |
root.removeChild( script ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1177 |
// release memory in IE |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1178 |
root = script = id = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1179 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1180 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1181 |
return jQuery.support._scriptEval; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1182 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1183 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1184 |
// Test to see if it's possible to delete an expando from an element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1185 |
// Fails in Internet Explorer |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1186 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1187 |
delete div.test; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1188 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1189 |
} catch(e) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1190 |
jQuery.support.deleteExpando = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1191 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1192 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1193 |
if ( div.attachEvent && div.fireEvent ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1194 |
div.attachEvent("onclick", function click() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1195 |
// Cloning a node shouldn't copy over any |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1196 |
// bound event handlers (IE does this) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1197 |
jQuery.support.noCloneEvent = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1198 |
div.detachEvent("onclick", click);
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1199 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1200 |
div.cloneNode(true).fireEvent("onclick");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1201 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1202 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1203 |
div = document.createElement("div");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1204 |
div.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1205 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1206 |
var fragment = document.createDocumentFragment(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1207 |
fragment.appendChild( div.firstChild ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1208 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1209 |
// WebKit doesn't clone checked state correctly in fragments |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1210 |
jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1211 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1212 |
// Figure out if the W3C box model works as expected |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1213 |
// document.body must exist before we can do this |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1214 |
jQuery(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1215 |
var div = document.createElement("div"),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1216 |
body = document.getElementsByTagName("body")[0];
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1217 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1218 |
// Frameset documents with no body should not run this code |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1219 |
if ( !body ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1220 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1221 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1222 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1223 |
div.style.width = div.style.paddingLeft = "1px"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1224 |
body.appendChild( div ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1225 |
jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1226 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1227 |
if ( "zoom" in div.style ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1228 |
// Check if natively block-level elements act like inline-block |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1229 |
// elements when setting their display to 'inline' and giving |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1230 |
// them layout |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1231 |
// (IE < 8 does this) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1232 |
div.style.display = "inline"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1233 |
div.style.zoom = 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1234 |
jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1235 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1236 |
// Check if elements with layout shrink-wrap their children |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1237 |
// (IE 6 does this) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1238 |
div.style.display = ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1239 |
div.innerHTML = "<div style='width:4px;'></div>"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1240 |
jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1241 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1242 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1243 |
div.innerHTML = "<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1244 |
var tds = div.getElementsByTagName("td");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1245 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1246 |
// Check if table cells still have offsetWidth/Height when they are set |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1247 |
// to display:none and there are still other visible table cells in a |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1248 |
// table row; if so, offsetWidth/Height are not reliable for use when |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1249 |
// determining if an element has been hidden directly using |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1250 |
// display:none (it is still safe to use offsets if a parent element is |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1251 |
// hidden; don safety goggles and see bug #4512 for more information). |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1252 |
// (only IE 8 fails this test) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1253 |
jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1254 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1255 |
tds[0].style.display = ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1256 |
tds[1].style.display = "none"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1257 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1258 |
// Check if empty table cells still have offsetWidth/Height |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1259 |
// (IE < 8 fail this test) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1260 |
jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1261 |
div.innerHTML = ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1262 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1263 |
body.removeChild( div ).style.display = "none"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1264 |
div = tds = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1265 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1266 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1267 |
// Technique from Juriy Zaytsev |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1268 |
// http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1269 |
var eventSupported = function( eventName ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1270 |
var el = document.createElement("div");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1271 |
eventName = "on" + eventName; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1272 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1273 |
// We only care about the case where non-standard event systems |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1274 |
// are used, namely in IE. Short-circuiting here helps us to |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1275 |
// avoid an eval call (in setAttribute) which can cause CSP |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1276 |
// to go haywire. See: https://developer.mozilla.org/en/Security/CSP |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1277 |
if ( !el.attachEvent ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1278 |
return true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1279 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1280 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1281 |
var isSupported = (eventName in el); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1282 |
if ( !isSupported ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1283 |
el.setAttribute(eventName, "return;"); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1284 |
isSupported = typeof el[eventName] === "function"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1285 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1286 |
el = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1287 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1288 |
return isSupported; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1289 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1290 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1291 |
jQuery.support.submitBubbles = eventSupported("submit");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1292 |
jQuery.support.changeBubbles = eventSupported("change");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1293 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1294 |
// release memory in IE |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1295 |
div = all = a = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1296 |
})(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1297 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1298 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1299 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1300 |
var rbrace = /^(?:\{.*\}|\[.*\])$/;
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1301 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1302 |
jQuery.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1303 |
cache: {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1304 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1305 |
// Please use with caution |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1306 |
uuid: 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1307 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1308 |
// Unique for each copy of jQuery on the page |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1309 |
// Non-digits removed to match rinlinejQuery |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1310 |
expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1311 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1312 |
// The following elements throw uncatchable exceptions if you |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1313 |
// attempt to add expando properties to them. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1314 |
noData: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1315 |
"embed": true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1316 |
// Ban all objects except for Flash (which handle expandos) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1317 |
"object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1318 |
"applet": true |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1319 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1320 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1321 |
hasData: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1322 |
elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1323 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1324 |
return !!elem && !jQuery.isEmptyObject(elem); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1325 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1326 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1327 |
data: function( elem, name, data, pvt /* Internal Use Only */ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1328 |
if ( !jQuery.acceptData( elem ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1329 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1330 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1331 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1332 |
var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1333 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1334 |
// We have to handle DOM nodes and JS objects differently because IE6-7 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1335 |
// can't GC object references properly across the DOM-JS boundary |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1336 |
isNode = elem.nodeType, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1337 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1338 |
// Only DOM nodes need the global jQuery cache; JS object data is |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1339 |
// attached directly to the object so GC can occur automatically |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1340 |
cache = isNode ? jQuery.cache : elem, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1341 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1342 |
// Only defining an ID for JS objects if its cache already exists allows |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1343 |
// the code to shortcut on the same path as a DOM node with no cache |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1344 |
id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1345 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1346 |
// Avoid doing any more work than we need to when trying to get data on an |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1347 |
// object that has no data at all |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1348 |
if ( (!id || (pvt && id && !cache[ id ][ internalKey ])) && getByName && data === undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1349 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1350 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1351 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1352 |
if ( !id ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1353 |
// Only DOM nodes need a new unique ID for each element since their data |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1354 |
// ends up in the global cache |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1355 |
if ( isNode ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1356 |
elem[ jQuery.expando ] = id = ++jQuery.uuid; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1357 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1358 |
id = jQuery.expando; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1359 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1360 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1361 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1362 |
if ( !cache[ id ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1363 |
cache[ id ] = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1364 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1365 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1366 |
// An object can be passed to jQuery.data instead of a key/value pair; this gets |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1367 |
// shallow copied over onto the existing cache |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1368 |
if ( typeof name === "object" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1369 |
if ( pvt ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1370 |
cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1371 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1372 |
cache[ id ] = jQuery.extend(cache[ id ], name); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1373 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1374 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1375 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1376 |
thisCache = cache[ id ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1377 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1378 |
// Internal jQuery data is stored in a separate object inside the object's data |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1379 |
// cache in order to avoid key collisions between internal data and user-defined |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1380 |
// data |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1381 |
if ( pvt ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1382 |
if ( !thisCache[ internalKey ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1383 |
thisCache[ internalKey ] = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1384 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1385 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1386 |
thisCache = thisCache[ internalKey ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1387 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1388 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1389 |
if ( data !== undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1390 |
thisCache[ name ] = data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1391 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1392 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1393 |
// TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1394 |
// not attempt to inspect the internal events object using jQuery.data, as this |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1395 |
// internal data object is undocumented and subject to change. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1396 |
if ( name === "events" && !thisCache[name] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1397 |
return thisCache[ internalKey ] && thisCache[ internalKey ].events; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1398 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1399 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1400 |
return getByName ? thisCache[ name ] : thisCache; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1401 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1402 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1403 |
removeData: function( elem, name, pvt /* Internal Use Only */ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1404 |
if ( !jQuery.acceptData( elem ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1405 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1406 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1407 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1408 |
var internalKey = jQuery.expando, isNode = elem.nodeType, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1409 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1410 |
// See jQuery.data for more information |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1411 |
cache = isNode ? jQuery.cache : elem, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1412 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1413 |
// See jQuery.data for more information |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1414 |
id = isNode ? elem[ jQuery.expando ] : jQuery.expando; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1415 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1416 |
// If there is already no cache entry for this object, there is no |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1417 |
// purpose in continuing |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1418 |
if ( !cache[ id ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1419 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1420 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1421 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1422 |
if ( name ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1423 |
var thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1424 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1425 |
if ( thisCache ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1426 |
delete thisCache[ name ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1427 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1428 |
// If there is no data left in the cache, we want to continue |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1429 |
// and let the cache object itself get destroyed |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1430 |
if ( !jQuery.isEmptyObject(thisCache) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1431 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1432 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1433 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1434 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1435 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1436 |
// See jQuery.data for more information |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1437 |
if ( pvt ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1438 |
delete cache[ id ][ internalKey ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1439 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1440 |
// Don't destroy the parent cache unless the internal data object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1441 |
// had been the only thing left in it |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1442 |
if ( !jQuery.isEmptyObject(cache[ id ]) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1443 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1444 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1445 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1446 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1447 |
var internalCache = cache[ id ][ internalKey ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1448 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1449 |
// Browsers that fail expando deletion also refuse to delete expandos on |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1450 |
// the window, but it will allow it on all other JS objects; other browsers |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1451 |
// don't care |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1452 |
if ( jQuery.support.deleteExpando || cache != window ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1453 |
delete cache[ id ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1454 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1455 |
cache[ id ] = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1456 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1457 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1458 |
// We destroyed the entire user cache at once because it's faster than |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1459 |
// iterating through each key, but we need to continue to persist internal |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1460 |
// data if it existed |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1461 |
if ( internalCache ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1462 |
cache[ id ] = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1463 |
cache[ id ][ internalKey ] = internalCache; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1464 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1465 |
// Otherwise, we need to eliminate the expando on the node to avoid |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1466 |
// false lookups in the cache for entries that no longer exist |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1467 |
} else if ( isNode ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1468 |
// IE does not allow us to delete expando properties from nodes, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1469 |
// nor does it have a removeAttribute function on Document nodes; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1470 |
// we must handle all of these cases |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1471 |
if ( jQuery.support.deleteExpando ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1472 |
delete elem[ jQuery.expando ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1473 |
} else if ( elem.removeAttribute ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1474 |
elem.removeAttribute( jQuery.expando ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1475 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1476 |
elem[ jQuery.expando ] = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1477 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1478 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1479 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1480 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1481 |
// For internal use only. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1482 |
_data: function( elem, name, data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1483 |
return jQuery.data( elem, name, data, true ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1484 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1485 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1486 |
// A method for determining if a DOM node can handle the data expando |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1487 |
acceptData: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1488 |
if ( elem.nodeName ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1489 |
var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1490 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1491 |
if ( match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1492 |
return !(match === true || elem.getAttribute("classid") !== match);
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1493 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1494 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1495 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1496 |
return true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1497 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1498 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1499 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1500 |
jQuery.fn.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1501 |
data: function( key, value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1502 |
var data = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1503 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1504 |
if ( typeof key === "undefined" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1505 |
if ( this.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1506 |
data = jQuery.data( this[0] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1507 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1508 |
if ( this[0].nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1509 |
var attr = this[0].attributes, name; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1510 |
for ( var i = 0, l = attr.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1511 |
name = attr[i].name; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1512 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1513 |
if ( name.indexOf( "data-" ) === 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1514 |
name = name.substr( 5 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1515 |
dataAttr( this[0], name, data[ name ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1516 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1517 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1518 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1519 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1520 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1521 |
return data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1522 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1523 |
} else if ( typeof key === "object" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1524 |
return this.each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1525 |
jQuery.data( this, key ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1526 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1527 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1528 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1529 |
var parts = key.split(".");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1530 |
parts[1] = parts[1] ? "." + parts[1] : ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1531 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1532 |
if ( value === undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1533 |
data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1534 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1535 |
// Try to fetch any internally stored data first |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1536 |
if ( data === undefined && this.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1537 |
data = jQuery.data( this[0], key ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1538 |
data = dataAttr( this[0], key, data ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1539 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1540 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1541 |
return data === undefined && parts[1] ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1542 |
this.data( parts[0] ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1543 |
data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1544 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1545 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1546 |
return this.each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1547 |
var $this = jQuery( this ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1548 |
args = [ parts[0], value ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1549 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1550 |
$this.triggerHandler( "setData" + parts[1] + "!", args ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1551 |
jQuery.data( this, key, value ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1552 |
$this.triggerHandler( "changeData" + parts[1] + "!", args ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1553 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1554 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1555 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1556 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1557 |
removeData: function( key ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1558 |
return this.each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1559 |
jQuery.removeData( this, key ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1560 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1561 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1562 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1563 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1564 |
function dataAttr( elem, key, data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1565 |
// If nothing was found internally, try to fetch any |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1566 |
// data from the HTML5 data-* attribute |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1567 |
if ( data === undefined && elem.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1568 |
data = elem.getAttribute( "data-" + key ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1569 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1570 |
if ( typeof data === "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1571 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1572 |
data = data === "true" ? true : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1573 |
data === "false" ? false : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1574 |
data === "null" ? null : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1575 |
!jQuery.isNaN( data ) ? parseFloat( data ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1576 |
rbrace.test( data ) ? jQuery.parseJSON( data ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1577 |
data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1578 |
} catch( e ) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1579 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1580 |
// Make sure we set the data so it isn't changed later |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1581 |
jQuery.data( elem, key, data ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1582 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1583 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1584 |
data = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1585 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1586 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1587 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1588 |
return data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1589 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1590 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1591 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1592 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1593 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1594 |
jQuery.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1595 |
queue: function( elem, type, data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1596 |
if ( !elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1597 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1598 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1599 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1600 |
type = (type || "fx") + "queue"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1601 |
var q = jQuery._data( elem, type ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1602 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1603 |
// Speed up dequeue by getting out quickly if this is just a lookup |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1604 |
if ( !data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1605 |
return q || []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1606 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1607 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1608 |
if ( !q || jQuery.isArray(data) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1609 |
q = jQuery._data( elem, type, jQuery.makeArray(data) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1610 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1611 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1612 |
q.push( data ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1613 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1614 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1615 |
return q; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1616 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1617 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1618 |
dequeue: function( elem, type ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1619 |
type = type || "fx"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1620 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1621 |
var queue = jQuery.queue( elem, type ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1622 |
fn = queue.shift(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1623 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1624 |
// If the fx queue is dequeued, always remove the progress sentinel |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1625 |
if ( fn === "inprogress" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1626 |
fn = queue.shift(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1627 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1628 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1629 |
if ( fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1630 |
// Add a progress sentinel to prevent the fx queue from being |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1631 |
// automatically dequeued |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1632 |
if ( type === "fx" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1633 |
queue.unshift("inprogress");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1634 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1635 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1636 |
fn.call(elem, function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1637 |
jQuery.dequeue(elem, type); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1638 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1639 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1640 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1641 |
if ( !queue.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1642 |
jQuery.removeData( elem, type + "queue", true ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1643 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1644 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1645 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1646 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1647 |
jQuery.fn.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1648 |
queue: function( type, data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1649 |
if ( typeof type !== "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1650 |
data = type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1651 |
type = "fx"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1652 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1653 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1654 |
if ( data === undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1655 |
return jQuery.queue( this[0], type ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1656 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1657 |
return this.each(function( i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1658 |
var queue = jQuery.queue( this, type, data ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1659 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1660 |
if ( type === "fx" && queue[0] !== "inprogress" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1661 |
jQuery.dequeue( this, type ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1662 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1663 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1664 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1665 |
dequeue: function( type ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1666 |
return this.each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1667 |
jQuery.dequeue( this, type ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1668 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1669 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1670 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1671 |
// Based off of the plugin by Clint Helfers, with permission. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1672 |
// http://blindsignals.com/index.php/2009/07/jquery-delay/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1673 |
delay: function( time, type ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1674 |
time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1675 |
type = type || "fx"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1676 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1677 |
return this.queue( type, function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1678 |
var elem = this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1679 |
setTimeout(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1680 |
jQuery.dequeue( elem, type ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1681 |
}, time ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1682 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1683 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1684 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1685 |
clearQueue: function( type ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1686 |
return this.queue( type || "fx", [] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1687 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1688 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1689 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1690 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1691 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1692 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1693 |
var rclass = /[\n\t\r]/g, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1694 |
rspaces = /\s+/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1695 |
rreturn = /\r/g, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1696 |
rspecialurl = /^(?:href|src|style)$/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1697 |
rtype = /^(?:button|input)$/i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1698 |
rfocusable = /^(?:button|input|object|select|textarea)$/i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1699 |
rclickable = /^a(?:rea)?$/i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1700 |
rradiocheck = /^(?:radio|checkbox)$/i; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1701 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1702 |
jQuery.props = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1703 |
"for": "htmlFor", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1704 |
"class": "className", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1705 |
readonly: "readOnly", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1706 |
maxlength: "maxLength", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1707 |
cellspacing: "cellSpacing", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1708 |
rowspan: "rowSpan", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1709 |
colspan: "colSpan", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1710 |
tabindex: "tabIndex", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1711 |
usemap: "useMap", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1712 |
frameborder: "frameBorder" |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1713 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1714 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1715 |
jQuery.fn.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1716 |
attr: function( name, value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1717 |
return jQuery.access( this, name, value, true, jQuery.attr ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1718 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1719 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1720 |
removeAttr: function( name, fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1721 |
return this.each(function(){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1722 |
jQuery.attr( this, name, "" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1723 |
if ( this.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1724 |
this.removeAttribute( name ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1725 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1726 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1727 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1728 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1729 |
addClass: function( value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1730 |
if ( jQuery.isFunction(value) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1731 |
return this.each(function(i) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1732 |
var self = jQuery(this); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1733 |
self.addClass( value.call(this, i, self.attr("class")) );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1734 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1735 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1736 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1737 |
if ( value && typeof value === "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1738 |
var classNames = (value || "").split( rspaces ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1739 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1740 |
for ( var i = 0, l = this.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1741 |
var elem = this[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1742 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1743 |
if ( elem.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1744 |
if ( !elem.className ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1745 |
elem.className = value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1746 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1747 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1748 |
var className = " " + elem.className + " ", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1749 |
setClass = elem.className; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1750 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1751 |
for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1752 |
if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1753 |
setClass += " " + classNames[c]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1754 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1755 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1756 |
elem.className = jQuery.trim( setClass ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1757 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1758 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1759 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1760 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1761 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1762 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1763 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1764 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1765 |
removeClass: function( value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1766 |
if ( jQuery.isFunction(value) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1767 |
return this.each(function(i) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1768 |
var self = jQuery(this); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1769 |
self.removeClass( value.call(this, i, self.attr("class")) );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1770 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1771 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1772 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1773 |
if ( (value && typeof value === "string") || value === undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1774 |
var classNames = (value || "").split( rspaces ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1775 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1776 |
for ( var i = 0, l = this.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1777 |
var elem = this[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1778 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1779 |
if ( elem.nodeType === 1 && elem.className ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1780 |
if ( value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1781 |
var className = (" " + elem.className + " ").replace(rclass, " ");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1782 |
for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1783 |
className = className.replace(" " + classNames[c] + " ", " ");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1784 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1785 |
elem.className = jQuery.trim( className ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1786 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1787 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1788 |
elem.className = ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1789 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1790 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1791 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1792 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1793 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1794 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1795 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1796 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1797 |
toggleClass: function( value, stateVal ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1798 |
var type = typeof value, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1799 |
isBool = typeof stateVal === "boolean"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1800 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1801 |
if ( jQuery.isFunction( value ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1802 |
return this.each(function(i) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1803 |
var self = jQuery(this); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1804 |
self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1805 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1806 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1807 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1808 |
return this.each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1809 |
if ( type === "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1810 |
// toggle individual class names |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1811 |
var className, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1812 |
i = 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1813 |
self = jQuery( this ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1814 |
state = stateVal, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1815 |
classNames = value.split( rspaces ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1816 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1817 |
while ( (className = classNames[ i++ ]) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1818 |
// check each className given, space seperated list |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1819 |
state = isBool ? state : !self.hasClass( className ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1820 |
self[ state ? "addClass" : "removeClass" ]( className ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1821 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1822 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1823 |
} else if ( type === "undefined" || type === "boolean" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1824 |
if ( this.className ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1825 |
// store className if set |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1826 |
jQuery._data( this, "__className__", this.className ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1827 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1828 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1829 |
// toggle whole className |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1830 |
this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1831 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1832 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1833 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1834 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1835 |
hasClass: function( selector ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1836 |
var className = " " + selector + " "; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1837 |
for ( var i = 0, l = this.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1838 |
if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1839 |
return true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1840 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1841 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1842 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1843 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1844 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1845 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1846 |
val: function( value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1847 |
if ( !arguments.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1848 |
var elem = this[0]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1849 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1850 |
if ( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1851 |
if ( jQuery.nodeName( elem, "option" ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1852 |
// attributes.value is undefined in Blackberry 4.7 but |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1853 |
// uses .value. See #6932 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1854 |
var val = elem.attributes.value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1855 |
return !val || val.specified ? elem.value : elem.text; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1856 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1857 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1858 |
// We need to handle select boxes special |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1859 |
if ( jQuery.nodeName( elem, "select" ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1860 |
var index = elem.selectedIndex, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1861 |
values = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1862 |
options = elem.options, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1863 |
one = elem.type === "select-one"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1864 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1865 |
// Nothing was selected |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1866 |
if ( index < 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1867 |
return null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1868 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1869 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1870 |
// Loop through all the selected options |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1871 |
for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1872 |
var option = options[ i ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1873 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1874 |
// Don't return options that are disabled or in a disabled optgroup |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1875 |
if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1876 |
(!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1877 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1878 |
// Get the specific value for the option |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1879 |
value = jQuery(option).val(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1880 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1881 |
// We don't need an array for one selects |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1882 |
if ( one ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1883 |
return value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1884 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1885 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1886 |
// Multi-Selects return an array |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1887 |
values.push( value ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1888 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1889 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1890 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1891 |
return values; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1892 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1893 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1894 |
// Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1895 |
if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1896 |
return elem.getAttribute("value") === null ? "on" : elem.value;
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1897 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1898 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1899 |
// Everything else, we just grab the value |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1900 |
return (elem.value || "").replace(rreturn, ""); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1901 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1902 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1903 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1904 |
return undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1905 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1906 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1907 |
var isFunction = jQuery.isFunction(value); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1908 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1909 |
return this.each(function(i) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1910 |
var self = jQuery(this), val = value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1911 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1912 |
if ( this.nodeType !== 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1913 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1914 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1915 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1916 |
if ( isFunction ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1917 |
val = value.call(this, i, self.val()); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1918 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1919 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1920 |
// Treat null/undefined as ""; convert numbers to string |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1921 |
if ( val == null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1922 |
val = ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1923 |
} else if ( typeof val === "number" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1924 |
val += ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1925 |
} else if ( jQuery.isArray(val) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1926 |
val = jQuery.map(val, function (value) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1927 |
return value == null ? "" : value + ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1928 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1929 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1930 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1931 |
if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1932 |
this.checked = jQuery.inArray( self.val(), val ) >= 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1933 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1934 |
} else if ( jQuery.nodeName( this, "select" ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1935 |
var values = jQuery.makeArray(val); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1936 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1937 |
jQuery( "option", this ).each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1938 |
this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1939 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1940 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1941 |
if ( !values.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1942 |
this.selectedIndex = -1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1943 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1944 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1945 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1946 |
this.value = val; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1947 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1948 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1949 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1950 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1951 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1952 |
jQuery.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1953 |
attrFn: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1954 |
val: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1955 |
css: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1956 |
html: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1957 |
text: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1958 |
data: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1959 |
width: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1960 |
height: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1961 |
offset: true |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1962 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1963 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1964 |
attr: function( elem, name, value, pass ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1965 |
// don't get/set attributes on text, comment and attribute nodes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1966 |
if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || elem.nodeType === 2 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1967 |
return undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1968 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1969 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1970 |
if ( pass && name in jQuery.attrFn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1971 |
return jQuery(elem)[name](value); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1972 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1973 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1974 |
var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1975 |
// Whether we are setting (or getting) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1976 |
set = value !== undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1977 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1978 |
// Try to normalize/fix the name |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1979 |
name = notxml && jQuery.props[ name ] || name; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1980 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1981 |
// Only do all the following if this is a node (faster for style) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1982 |
if ( elem.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1983 |
// These attributes require special treatment |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1984 |
var special = rspecialurl.test( name ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1985 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1986 |
// Safari mis-reports the default selected property of an option |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1987 |
// Accessing the parent's selectedIndex property fixes it |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1988 |
if ( name === "selected" && !jQuery.support.optSelected ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1989 |
var parent = elem.parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1990 |
if ( parent ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1991 |
parent.selectedIndex; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1992 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1993 |
// Make sure that it also works with optgroups, see #5701 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1994 |
if ( parent.parentNode ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1995 |
parent.parentNode.selectedIndex; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1996 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1997 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1998 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1999 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2000 |
// If applicable, access the attribute via the DOM 0 way |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2001 |
// 'in' checks fail in Blackberry 4.7 #6931 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2002 |
if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2003 |
if ( set ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2004 |
// We can't allow the type property to be changed (since it causes problems in IE) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2005 |
if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2006 |
jQuery.error( "type property can't be changed" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2007 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2008 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2009 |
if ( value === null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2010 |
if ( elem.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2011 |
elem.removeAttribute( name ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2012 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2013 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2014 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2015 |
elem[ name ] = value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2016 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2017 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2018 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2019 |
// browsers index elements by id/name on forms, give priority to attributes. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2020 |
if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2021 |
return elem.getAttributeNode( name ).nodeValue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2022 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2023 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2024 |
// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2025 |
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2026 |
if ( name === "tabIndex" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2027 |
var attributeNode = elem.getAttributeNode( "tabIndex" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2028 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2029 |
return attributeNode && attributeNode.specified ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2030 |
attributeNode.value : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2031 |
rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2032 |
0 : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2033 |
undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2034 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2035 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2036 |
return elem[ name ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2037 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2038 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2039 |
if ( !jQuery.support.style && notxml && name === "style" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2040 |
if ( set ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2041 |
elem.style.cssText = "" + value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2042 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2043 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2044 |
return elem.style.cssText; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2045 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2046 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2047 |
if ( set ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2048 |
// convert the value to a string (all browsers do this but IE) see #1070 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2049 |
elem.setAttribute( name, "" + value ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2050 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2051 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2052 |
// Ensure that missing attributes return undefined |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2053 |
// Blackberry 4.7 returns "" from getAttribute #6938 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2054 |
if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2055 |
return undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2056 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2057 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2058 |
var attr = !jQuery.support.hrefNormalized && notxml && special ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2059 |
// Some attributes require a special call on IE |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2060 |
elem.getAttribute( name, 2 ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2061 |
elem.getAttribute( name ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2062 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2063 |
// Non-existent attributes return null, we normalize to undefined |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2064 |
return attr === null ? undefined : attr; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2065 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2066 |
// Handle everything which isn't a DOM element node |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2067 |
if ( set ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2068 |
elem[ name ] = value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2069 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2070 |
return elem[ name ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2071 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2072 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2073 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2074 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2075 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2076 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2077 |
var rnamespaces = /\.(.*)$/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2078 |
rformElems = /^(?:textarea|input|select)$/i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2079 |
rperiod = /\./g, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2080 |
rspace = / /g, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2081 |
rescape = /[^\w\s.|`]/g, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2082 |
fcleanup = function( nm ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2083 |
return nm.replace(rescape, "\\$&"); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2084 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2085 |
eventKey = "events"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2086 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2087 |
/* |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2088 |
* A number of helper functions used for managing events. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2089 |
* Many of the ideas behind this code originated from |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2090 |
* Dean Edwards' addEvent library. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2091 |
*/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2092 |
jQuery.event = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2093 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2094 |
// Bind an event to an element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2095 |
// Original by Dean Edwards |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2096 |
add: function( elem, types, handler, data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2097 |
if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2098 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2099 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2100 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2101 |
// For whatever reason, IE has trouble passing the window object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2102 |
// around, causing it to be cloned in the process |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2103 |
if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2104 |
elem = window; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2105 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2106 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2107 |
if ( handler === false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2108 |
handler = returnFalse; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2109 |
} else if ( !handler ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2110 |
// Fixes bug #7229. Fix recommended by jdalton |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2111 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2112 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2113 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2114 |
var handleObjIn, handleObj; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2115 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2116 |
if ( handler.handler ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2117 |
handleObjIn = handler; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2118 |
handler = handleObjIn.handler; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2119 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2120 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2121 |
// Make sure that the function being executed has a unique ID |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2122 |
if ( !handler.guid ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2123 |
handler.guid = jQuery.guid++; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2124 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2125 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2126 |
// Init the element's event structure |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2127 |
var elemData = jQuery._data( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2128 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2129 |
// If no elemData is found then we must be trying to bind to one of the |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2130 |
// banned noData elements |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2131 |
if ( !elemData ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2132 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2133 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2134 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2135 |
var events = elemData[ eventKey ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2136 |
eventHandle = elemData.handle; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2137 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2138 |
if ( typeof events === "function" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2139 |
// On plain objects events is a fn that holds the the data |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2140 |
// which prevents this data from being JSON serialized |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2141 |
// the function does not need to be called, it just contains the data |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2142 |
eventHandle = events.handle; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2143 |
events = events.events; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2144 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2145 |
} else if ( !events ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2146 |
if ( !elem.nodeType ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2147 |
// On plain objects, create a fn that acts as the holder |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2148 |
// of the values to avoid JSON serialization of event data |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2149 |
elemData[ eventKey ] = elemData = function(){};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2150 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2151 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2152 |
elemData.events = events = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2153 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2154 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2155 |
if ( !eventHandle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2156 |
elemData.handle = eventHandle = function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2157 |
// Handle the second event of a trigger and when |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2158 |
// an event is called after a page has unloaded |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2159 |
return typeof jQuery !== "undefined" && !jQuery.event.triggered ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2160 |
jQuery.event.handle.apply( eventHandle.elem, arguments ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2161 |
undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2162 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2163 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2164 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2165 |
// Add elem as a property of the handle function |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2166 |
// This is to prevent a memory leak with non-native events in IE. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2167 |
eventHandle.elem = elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2168 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2169 |
// Handle multiple events separated by a space |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2170 |
// jQuery(...).bind("mouseover mouseout", fn);
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2171 |
types = types.split(" ");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2172 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2173 |
var type, i = 0, namespaces; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2174 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2175 |
while ( (type = types[ i++ ]) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2176 |
handleObj = handleObjIn ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2177 |
jQuery.extend({}, handleObjIn) :
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2178 |
{ handler: handler, data: data };
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2179 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2180 |
// Namespaced event handlers |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2181 |
if ( type.indexOf(".") > -1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2182 |
namespaces = type.split(".");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2183 |
type = namespaces.shift(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2184 |
handleObj.namespace = namespaces.slice(0).sort().join(".");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2185 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2186 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2187 |
namespaces = []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2188 |
handleObj.namespace = ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2189 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2190 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2191 |
handleObj.type = type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2192 |
if ( !handleObj.guid ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2193 |
handleObj.guid = handler.guid; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2194 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2195 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2196 |
// Get the current list of functions bound to this event |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2197 |
var handlers = events[ type ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2198 |
special = jQuery.event.special[ type ] || {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2199 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2200 |
// Init the event handler queue |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2201 |
if ( !handlers ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2202 |
handlers = events[ type ] = []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2203 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2204 |
// Check for a special event handler |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2205 |
// Only use addEventListener/attachEvent if the special |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2206 |
// events handler returns false |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2207 |
if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2208 |
// Bind the global event handler to the element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2209 |
if ( elem.addEventListener ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2210 |
elem.addEventListener( type, eventHandle, false ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2211 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2212 |
} else if ( elem.attachEvent ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2213 |
elem.attachEvent( "on" + type, eventHandle ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2214 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2215 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2216 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2217 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2218 |
if ( special.add ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2219 |
special.add.call( elem, handleObj ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2220 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2221 |
if ( !handleObj.handler.guid ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2222 |
handleObj.handler.guid = handler.guid; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2223 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2224 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2225 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2226 |
// Add the function to the element's handler list |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2227 |
handlers.push( handleObj ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2228 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2229 |
// Keep track of which events have been used, for global triggering |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2230 |
jQuery.event.global[ type ] = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2231 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2232 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2233 |
// Nullify elem to prevent memory leaks in IE |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2234 |
elem = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2235 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2236 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2237 |
global: {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2238 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2239 |
// Detach an event or set of events from an element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2240 |
remove: function( elem, types, handler, pos ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2241 |
// don't do events on text and comment nodes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2242 |
if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2243 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2244 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2245 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2246 |
if ( handler === false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2247 |
handler = returnFalse; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2248 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2249 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2250 |
var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2251 |
elemData = jQuery.hasData( elem ) && jQuery._data( elem ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2252 |
events = elemData && elemData[ eventKey ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2253 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2254 |
if ( !elemData || !events ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2255 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2256 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2257 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2258 |
if ( typeof events === "function" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2259 |
elemData = events; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2260 |
events = events.events; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2261 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2262 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2263 |
// types is actually an event object here |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2264 |
if ( types && types.type ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2265 |
handler = types.handler; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2266 |
types = types.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2267 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2268 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2269 |
// Unbind all events for the element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2270 |
if ( !types || typeof types === "string" && types.charAt(0) === "." ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2271 |
types = types || ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2272 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2273 |
for ( type in events ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2274 |
jQuery.event.remove( elem, type + types ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2275 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2276 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2277 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2278 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2279 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2280 |
// Handle multiple events separated by a space |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2281 |
// jQuery(...).unbind("mouseover mouseout", fn);
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2282 |
types = types.split(" ");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2283 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2284 |
while ( (type = types[ i++ ]) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2285 |
origType = type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2286 |
handleObj = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2287 |
all = type.indexOf(".") < 0;
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2288 |
namespaces = []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2289 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2290 |
if ( !all ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2291 |
// Namespaced event handlers |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2292 |
namespaces = type.split(".");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2293 |
type = namespaces.shift(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2294 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2295 |
namespace = new RegExp("(^|\\.)" +
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2296 |
jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2297 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2298 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2299 |
eventType = events[ type ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2300 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2301 |
if ( !eventType ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2302 |
continue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2303 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2304 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2305 |
if ( !handler ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2306 |
for ( j = 0; j < eventType.length; j++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2307 |
handleObj = eventType[ j ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2308 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2309 |
if ( all || namespace.test( handleObj.namespace ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2310 |
jQuery.event.remove( elem, origType, handleObj.handler, j ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2311 |
eventType.splice( j--, 1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2312 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2313 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2314 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2315 |
continue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2316 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2317 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2318 |
special = jQuery.event.special[ type ] || {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2319 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2320 |
for ( j = pos || 0; j < eventType.length; j++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2321 |
handleObj = eventType[ j ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2322 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2323 |
if ( handler.guid === handleObj.guid ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2324 |
// remove the given handler for the given type |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2325 |
if ( all || namespace.test( handleObj.namespace ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2326 |
if ( pos == null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2327 |
eventType.splice( j--, 1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2328 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2329 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2330 |
if ( special.remove ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2331 |
special.remove.call( elem, handleObj ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2332 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2333 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2334 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2335 |
if ( pos != null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2336 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2337 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2338 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2339 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2340 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2341 |
// remove generic event handler if no more handlers exist |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2342 |
if ( eventType.length === 0 || pos != null && eventType.length === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2343 |
if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2344 |
jQuery.removeEvent( elem, type, elemData.handle ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2345 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2346 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2347 |
ret = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2348 |
delete events[ type ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2349 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2350 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2351 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2352 |
// Remove the expando if it's no longer used |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2353 |
if ( jQuery.isEmptyObject( events ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2354 |
var handle = elemData.handle; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2355 |
if ( handle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2356 |
handle.elem = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2357 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2358 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2359 |
delete elemData.events; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2360 |
delete elemData.handle; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2361 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2362 |
if ( typeof elemData === "function" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2363 |
jQuery.removeData( elem, eventKey, true ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2364 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2365 |
} else if ( jQuery.isEmptyObject( elemData ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2366 |
jQuery.removeData( elem, undefined, true ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2367 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2368 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2369 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2370 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2371 |
// bubbling is internal |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2372 |
trigger: function( event, data, elem /*, bubbling */ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2373 |
// Event object or event type |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2374 |
var type = event.type || event, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2375 |
bubbling = arguments[3]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2376 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2377 |
if ( !bubbling ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2378 |
event = typeof event === "object" ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2379 |
// jQuery.Event object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2380 |
event[ jQuery.expando ] ? event : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2381 |
// Object literal |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2382 |
jQuery.extend( jQuery.Event(type), event ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2383 |
// Just the event type (string) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2384 |
jQuery.Event(type); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2385 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2386 |
if ( type.indexOf("!") >= 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2387 |
event.type = type = type.slice(0, -1); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2388 |
event.exclusive = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2389 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2390 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2391 |
// Handle a global trigger |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2392 |
if ( !elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2393 |
// Don't bubble custom events when global (to avoid too much overhead) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2394 |
event.stopPropagation(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2395 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2396 |
// Only trigger if we've ever bound an event for it |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2397 |
if ( jQuery.event.global[ type ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2398 |
// XXX This code smells terrible. event.js should not be directly |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2399 |
// inspecting the data cache |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2400 |
jQuery.each( jQuery.cache, function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2401 |
// internalKey variable is just used to make it easier to find |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2402 |
// and potentially change this stuff later; currently it just |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2403 |
// points to jQuery.expando |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2404 |
var internalKey = jQuery.expando, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2405 |
internalCache = this[ internalKey ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2406 |
if ( internalCache && internalCache.events && internalCache.events[type] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2407 |
jQuery.event.trigger( event, data, internalCache.handle.elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2408 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2409 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2410 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2411 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2412 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2413 |
// Handle triggering a single element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2414 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2415 |
// don't do events on text and comment nodes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2416 |
if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2417 |
return undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2418 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2419 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2420 |
// Clean up in case it is reused |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2421 |
event.result = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2422 |
event.target = elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2423 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2424 |
// Clone the incoming data, if any |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2425 |
data = jQuery.makeArray( data ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2426 |
data.unshift( event ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2427 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2428 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2429 |
event.currentTarget = elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2430 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2431 |
// Trigger the event, it is assumed that "handle" is a function |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2432 |
var handle = elem.nodeType ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2433 |
jQuery._data( elem, "handle" ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2434 |
(jQuery._data( elem, eventKey ) || {}).handle;
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2435 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2436 |
if ( handle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2437 |
handle.apply( elem, data ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2438 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2439 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2440 |
var parent = elem.parentNode || elem.ownerDocument; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2441 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2442 |
// Trigger an inline bound script |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2443 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2444 |
if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2445 |
if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2446 |
event.result = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2447 |
event.preventDefault(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2448 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2449 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2450 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2451 |
// prevent IE from throwing an error for some elements with some event types, see #3533 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2452 |
} catch (inlineError) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2453 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2454 |
if ( !event.isPropagationStopped() && parent ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2455 |
jQuery.event.trigger( event, data, parent, true ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2456 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2457 |
} else if ( !event.isDefaultPrevented() ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2458 |
var old, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2459 |
target = event.target, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2460 |
targetType = type.replace( rnamespaces, "" ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2461 |
isClick = jQuery.nodeName( target, "a" ) && targetType === "click", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2462 |
special = jQuery.event.special[ targetType ] || {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2463 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2464 |
if ( (!special._default || special._default.call( elem, event ) === false) && |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2465 |
!isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2466 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2467 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2468 |
if ( target[ targetType ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2469 |
// Make sure that we don't accidentally re-trigger the onFOO events |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2470 |
old = target[ "on" + targetType ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2471 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2472 |
if ( old ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2473 |
target[ "on" + targetType ] = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2474 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2475 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2476 |
jQuery.event.triggered = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2477 |
target[ targetType ](); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2478 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2479 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2480 |
// prevent IE from throwing an error for some elements with some event types, see #3533 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2481 |
} catch (triggerError) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2482 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2483 |
if ( old ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2484 |
target[ "on" + targetType ] = old; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2485 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2486 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2487 |
jQuery.event.triggered = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2488 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2489 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2490 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2491 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2492 |
handle: function( event ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2493 |
var all, handlers, namespaces, namespace_re, events, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2494 |
namespace_sort = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2495 |
args = jQuery.makeArray( arguments ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2496 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2497 |
event = args[0] = jQuery.event.fix( event || window.event ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2498 |
event.currentTarget = this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2499 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2500 |
// Namespaced event handlers |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2501 |
all = event.type.indexOf(".") < 0 && !event.exclusive;
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2502 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2503 |
if ( !all ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2504 |
namespaces = event.type.split(".");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2505 |
event.type = namespaces.shift(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2506 |
namespace_sort = namespaces.slice(0).sort(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2507 |
namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2508 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2509 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2510 |
event.namespace = event.namespace || namespace_sort.join(".");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2511 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2512 |
events = jQuery._data(this, eventKey); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2513 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2514 |
if ( typeof events === "function" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2515 |
events = events.events; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2516 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2517 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2518 |
handlers = (events || {})[ event.type ];
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2519 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2520 |
if ( events && handlers ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2521 |
// Clone the handlers to prevent manipulation |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2522 |
handlers = handlers.slice(0); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2523 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2524 |
for ( var j = 0, l = handlers.length; j < l; j++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2525 |
var handleObj = handlers[ j ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2526 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2527 |
// Filter the functions by class |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2528 |
if ( all || namespace_re.test( handleObj.namespace ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2529 |
// Pass in a reference to the handler function itself |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2530 |
// So that we can later remove it |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2531 |
event.handler = handleObj.handler; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2532 |
event.data = handleObj.data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2533 |
event.handleObj = handleObj; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2534 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2535 |
var ret = handleObj.handler.apply( this, args ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2536 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2537 |
if ( ret !== undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2538 |
event.result = ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2539 |
if ( ret === false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2540 |
event.preventDefault(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2541 |
event.stopPropagation(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2542 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2543 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2544 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2545 |
if ( event.isImmediatePropagationStopped() ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2546 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2547 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2548 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2549 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2550 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2551 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2552 |
return event.result; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2553 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2554 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2555 |
props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2556 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2557 |
fix: function( event ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2558 |
if ( event[ jQuery.expando ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2559 |
return event; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2560 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2561 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2562 |
// store a copy of the original event object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2563 |
// and "clone" to set read-only properties |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2564 |
var originalEvent = event; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2565 |
event = jQuery.Event( originalEvent ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2566 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2567 |
for ( var i = this.props.length, prop; i; ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2568 |
prop = this.props[ --i ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2569 |
event[ prop ] = originalEvent[ prop ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2570 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2571 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2572 |
// Fix target property, if necessary |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2573 |
if ( !event.target ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2574 |
// Fixes #1925 where srcElement might not be defined either |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2575 |
event.target = event.srcElement || document; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2576 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2577 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2578 |
// check if target is a textnode (safari) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2579 |
if ( event.target.nodeType === 3 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2580 |
event.target = event.target.parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2581 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2582 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2583 |
// Add relatedTarget, if necessary |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2584 |
if ( !event.relatedTarget && event.fromElement ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2585 |
event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2586 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2587 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2588 |
// Calculate pageX/Y if missing and clientX/Y available |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2589 |
if ( event.pageX == null && event.clientX != null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2590 |
var doc = document.documentElement, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2591 |
body = document.body; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2592 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2593 |
event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2594 |
event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2595 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2596 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2597 |
// Add which for key events |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2598 |
if ( event.which == null && (event.charCode != null || event.keyCode != null) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2599 |
event.which = event.charCode != null ? event.charCode : event.keyCode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2600 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2601 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2602 |
// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2603 |
if ( !event.metaKey && event.ctrlKey ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2604 |
event.metaKey = event.ctrlKey; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2605 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2606 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2607 |
// Add which for click: 1 === left; 2 === middle; 3 === right |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2608 |
// Note: button is not normalized, so don't use it |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2609 |
if ( !event.which && event.button !== undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2610 |
event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2611 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2612 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2613 |
return event; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2614 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2615 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2616 |
// Deprecated, use jQuery.guid instead |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2617 |
guid: 1E8, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2618 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2619 |
// Deprecated, use jQuery.proxy instead |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2620 |
proxy: jQuery.proxy, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2621 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2622 |
special: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2623 |
ready: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2624 |
// Make sure the ready event is setup |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2625 |
setup: jQuery.bindReady, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2626 |
teardown: jQuery.noop |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2627 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2628 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2629 |
live: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2630 |
add: function( handleObj ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2631 |
jQuery.event.add( this, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2632 |
liveConvert( handleObj.origType, handleObj.selector ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2633 |
jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2634 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2635 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2636 |
remove: function( handleObj ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2637 |
jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2638 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2639 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2640 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2641 |
beforeunload: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2642 |
setup: function( data, namespaces, eventHandle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2643 |
// We only want to do this special case on windows |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2644 |
if ( jQuery.isWindow( this ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2645 |
this.onbeforeunload = eventHandle; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2646 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2647 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2648 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2649 |
teardown: function( namespaces, eventHandle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2650 |
if ( this.onbeforeunload === eventHandle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2651 |
this.onbeforeunload = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2652 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2653 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2654 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2655 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2656 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2657 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2658 |
jQuery.removeEvent = document.removeEventListener ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2659 |
function( elem, type, handle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2660 |
if ( elem.removeEventListener ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2661 |
elem.removeEventListener( type, handle, false ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2662 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2663 |
} : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2664 |
function( elem, type, handle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2665 |
if ( elem.detachEvent ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2666 |
elem.detachEvent( "on" + type, handle ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2667 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2668 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2669 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2670 |
jQuery.Event = function( src ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2671 |
// Allow instantiation without the 'new' keyword |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2672 |
if ( !this.preventDefault ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2673 |
return new jQuery.Event( src ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2674 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2675 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2676 |
// Event object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2677 |
if ( src && src.type ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2678 |
this.originalEvent = src; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2679 |
this.type = src.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2680 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2681 |
// Events bubbling up the document may have been marked as prevented |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2682 |
// by a handler lower down the tree; reflect the correct value. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2683 |
this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2684 |
src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2685 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2686 |
// Event type |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2687 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2688 |
this.type = src; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2689 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2690 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2691 |
// timeStamp is buggy for some events on Firefox(#3843) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2692 |
// So we won't rely on the native value |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2693 |
this.timeStamp = jQuery.now(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2694 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2695 |
// Mark it as fixed |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2696 |
this[ jQuery.expando ] = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2697 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2698 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2699 |
function returnFalse() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2700 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2701 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2702 |
function returnTrue() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2703 |
return true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2704 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2705 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2706 |
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2707 |
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2708 |
jQuery.Event.prototype = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2709 |
preventDefault: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2710 |
this.isDefaultPrevented = returnTrue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2711 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2712 |
var e = this.originalEvent; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2713 |
if ( !e ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2714 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2715 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2716 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2717 |
// if preventDefault exists run it on the original event |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2718 |
if ( e.preventDefault ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2719 |
e.preventDefault(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2720 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2721 |
// otherwise set the returnValue property of the original event to false (IE) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2722 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2723 |
e.returnValue = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2724 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2725 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2726 |
stopPropagation: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2727 |
this.isPropagationStopped = returnTrue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2728 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2729 |
var e = this.originalEvent; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2730 |
if ( !e ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2731 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2732 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2733 |
// if stopPropagation exists run it on the original event |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2734 |
if ( e.stopPropagation ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2735 |
e.stopPropagation(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2736 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2737 |
// otherwise set the cancelBubble property of the original event to true (IE) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2738 |
e.cancelBubble = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2739 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2740 |
stopImmediatePropagation: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2741 |
this.isImmediatePropagationStopped = returnTrue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2742 |
this.stopPropagation(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2743 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2744 |
isDefaultPrevented: returnFalse, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2745 |
isPropagationStopped: returnFalse, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2746 |
isImmediatePropagationStopped: returnFalse |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2747 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2748 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2749 |
// Checks if an event happened on an element within another element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2750 |
// Used in jQuery.event.special.mouseenter and mouseleave handlers |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2751 |
var withinElement = function( event ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2752 |
// Check if mouse(over|out) are still within the same parent element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2753 |
var parent = event.relatedTarget; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2754 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2755 |
// Firefox sometimes assigns relatedTarget a XUL element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2756 |
// which we cannot access the parentNode property of |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2757 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2758 |
// Traverse up the tree |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2759 |
while ( parent && parent !== this ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2760 |
parent = parent.parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2761 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2762 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2763 |
if ( parent !== this ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2764 |
// set the correct event type |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2765 |
event.type = event.data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2766 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2767 |
// handle event if we actually just moused on to a non sub-element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2768 |
jQuery.event.handle.apply( this, arguments ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2769 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2770 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2771 |
// assuming we've left the element since we most likely mousedover a xul element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2772 |
} catch(e) { }
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2773 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2774 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2775 |
// In case of event delegation, we only need to rename the event.type, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2776 |
// liveHandler will take care of the rest. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2777 |
delegate = function( event ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2778 |
event.type = event.data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2779 |
jQuery.event.handle.apply( this, arguments ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2780 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2781 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2782 |
// Create mouseenter and mouseleave events |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2783 |
jQuery.each({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2784 |
mouseenter: "mouseover", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2785 |
mouseleave: "mouseout" |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2786 |
}, function( orig, fix ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2787 |
jQuery.event.special[ orig ] = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2788 |
setup: function( data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2789 |
jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2790 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2791 |
teardown: function( data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2792 |
jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2793 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2794 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2795 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2796 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2797 |
// submit delegation |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2798 |
if ( !jQuery.support.submitBubbles ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2799 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2800 |
jQuery.event.special.submit = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2801 |
setup: function( data, namespaces ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2802 |
if ( this.nodeName && this.nodeName.toLowerCase() !== "form" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2803 |
jQuery.event.add(this, "click.specialSubmit", function( e ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2804 |
var elem = e.target, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2805 |
type = elem.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2806 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2807 |
if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2808 |
e.liveFired = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2809 |
return trigger( "submit", this, arguments ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2810 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2811 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2812 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2813 |
jQuery.event.add(this, "keypress.specialSubmit", function( e ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2814 |
var elem = e.target, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2815 |
type = elem.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2816 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2817 |
if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2818 |
e.liveFired = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2819 |
return trigger( "submit", this, arguments ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2820 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2821 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2822 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2823 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2824 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2825 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2826 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2827 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2828 |
teardown: function( namespaces ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2829 |
jQuery.event.remove( this, ".specialSubmit" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2830 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2831 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2832 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2833 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2834 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2835 |
// change delegation, happens here so we have bind. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2836 |
if ( !jQuery.support.changeBubbles ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2837 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2838 |
var changeFilters, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2839 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2840 |
getVal = function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2841 |
var type = elem.type, val = elem.value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2842 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2843 |
if ( type === "radio" || type === "checkbox" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2844 |
val = elem.checked; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2845 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2846 |
} else if ( type === "select-multiple" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2847 |
val = elem.selectedIndex > -1 ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2848 |
jQuery.map( elem.options, function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2849 |
return elem.selected; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2850 |
}).join("-") :
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2851 |
""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2852 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2853 |
} else if ( elem.nodeName.toLowerCase() === "select" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2854 |
val = elem.selectedIndex; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2855 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2856 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2857 |
return val; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2858 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2859 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2860 |
testChange = function testChange( e ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2861 |
var elem = e.target, data, val; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2862 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2863 |
if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2864 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2865 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2866 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2867 |
data = jQuery._data( elem, "_change_data" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2868 |
val = getVal(elem); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2869 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2870 |
// the current data will be also retrieved by beforeactivate |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2871 |
if ( e.type !== "focusout" || elem.type !== "radio" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2872 |
jQuery._data( elem, "_change_data", val ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2873 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2874 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2875 |
if ( data === undefined || val === data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2876 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2877 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2878 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2879 |
if ( data != null || val ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2880 |
e.type = "change"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2881 |
e.liveFired = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2882 |
return jQuery.event.trigger( e, arguments[1], elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2883 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2884 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2885 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2886 |
jQuery.event.special.change = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2887 |
filters: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2888 |
focusout: testChange, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2889 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2890 |
beforedeactivate: testChange, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2891 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2892 |
click: function( e ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2893 |
var elem = e.target, type = elem.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2894 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2895 |
if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2896 |
return testChange.call( this, e ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2897 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2898 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2899 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2900 |
// Change has to be called before submit |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2901 |
// Keydown will be called before keypress, which is used in submit-event delegation |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2902 |
keydown: function( e ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2903 |
var elem = e.target, type = elem.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2904 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2905 |
if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2906 |
(e.keyCode === 32 && (type === "checkbox" || type === "radio")) || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2907 |
type === "select-multiple" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2908 |
return testChange.call( this, e ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2909 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2910 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2911 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2912 |
// Beforeactivate happens also before the previous element is blurred |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2913 |
// with this event you can't trigger a change event, but you can store |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2914 |
// information |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2915 |
beforeactivate: function( e ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2916 |
var elem = e.target; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2917 |
jQuery._data( elem, "_change_data", getVal(elem) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2918 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2919 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2920 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2921 |
setup: function( data, namespaces ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2922 |
if ( this.type === "file" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2923 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2924 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2925 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2926 |
for ( var type in changeFilters ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2927 |
jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2928 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2929 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2930 |
return rformElems.test( this.nodeName ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2931 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2932 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2933 |
teardown: function( namespaces ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2934 |
jQuery.event.remove( this, ".specialChange" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2935 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2936 |
return rformElems.test( this.nodeName ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2937 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2938 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2939 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2940 |
changeFilters = jQuery.event.special.change.filters; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2941 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2942 |
// Handle when the input is .focus()'d |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2943 |
changeFilters.focus = changeFilters.beforeactivate; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2944 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2945 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2946 |
function trigger( type, elem, args ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2947 |
args[0].type = type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2948 |
return jQuery.event.handle.apply( elem, args ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2949 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2950 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2951 |
// Create "bubbling" focus and blur events |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2952 |
if ( document.addEventListener ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2953 |
jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2954 |
jQuery.event.special[ fix ] = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2955 |
setup: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2956 |
this.addEventListener( orig, handler, true ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2957 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2958 |
teardown: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2959 |
this.removeEventListener( orig, handler, true ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2960 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2961 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2962 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2963 |
function handler( e ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2964 |
e = jQuery.event.fix( e ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2965 |
e.type = fix; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2966 |
return jQuery.event.handle.call( this, e ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2967 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2968 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2969 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2970 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2971 |
jQuery.each(["bind", "one"], function( i, name ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2972 |
jQuery.fn[ name ] = function( type, data, fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2973 |
// Handle object literals |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2974 |
if ( typeof type === "object" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2975 |
for ( var key in type ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2976 |
this[ name ](key, data, type[key], fn); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2977 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2978 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2979 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2980 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2981 |
if ( jQuery.isFunction( data ) || data === false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2982 |
fn = data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2983 |
data = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2984 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2985 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2986 |
var handler = name === "one" ? jQuery.proxy( fn, function( event ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2987 |
jQuery( this ).unbind( event, handler ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2988 |
return fn.apply( this, arguments ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2989 |
}) : fn; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2990 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2991 |
if ( type === "unload" && name !== "one" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2992 |
this.one( type, data, fn ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2993 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2994 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2995 |
for ( var i = 0, l = this.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2996 |
jQuery.event.add( this[i], type, handler, data ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2997 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2998 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2999 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3000 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3001 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3002 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3003 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3004 |
jQuery.fn.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3005 |
unbind: function( type, fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3006 |
// Handle object literals |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3007 |
if ( typeof type === "object" && !type.preventDefault ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3008 |
for ( var key in type ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3009 |
this.unbind(key, type[key]); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3010 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3011 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3012 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3013 |
for ( var i = 0, l = this.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3014 |
jQuery.event.remove( this[i], type, fn ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3015 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3016 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3017 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3018 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3019 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3020 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3021 |
delegate: function( selector, types, data, fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3022 |
return this.live( types, data, fn, selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3023 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3024 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3025 |
undelegate: function( selector, types, fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3026 |
if ( arguments.length === 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3027 |
return this.unbind( "live" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3028 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3029 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3030 |
return this.die( types, null, fn, selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3031 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3032 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3033 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3034 |
trigger: function( type, data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3035 |
return this.each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3036 |
jQuery.event.trigger( type, data, this ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3037 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3038 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3039 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3040 |
triggerHandler: function( type, data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3041 |
if ( this[0] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3042 |
var event = jQuery.Event( type ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3043 |
event.preventDefault(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3044 |
event.stopPropagation(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3045 |
jQuery.event.trigger( event, data, this[0] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3046 |
return event.result; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3047 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3048 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3049 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3050 |
toggle: function( fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3051 |
// Save reference to arguments for access in closure |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3052 |
var args = arguments, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3053 |
i = 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3054 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3055 |
// link all the functions, so any of them can unbind this click handler |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3056 |
while ( i < args.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3057 |
jQuery.proxy( fn, args[ i++ ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3058 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3059 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3060 |
return this.click( jQuery.proxy( fn, function( event ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3061 |
// Figure out which function to execute |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3062 |
var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3063 |
jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3064 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3065 |
// Make sure that clicks stop |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3066 |
event.preventDefault(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3067 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3068 |
// and execute the function |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3069 |
return args[ lastToggle ].apply( this, arguments ) || false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3070 |
})); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3071 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3072 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3073 |
hover: function( fnOver, fnOut ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3074 |
return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3075 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3076 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3077 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3078 |
var liveMap = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3079 |
focus: "focusin", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3080 |
blur: "focusout", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3081 |
mouseenter: "mouseover", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3082 |
mouseleave: "mouseout" |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3083 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3084 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3085 |
jQuery.each(["live", "die"], function( i, name ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3086 |
jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3087 |
var type, i = 0, match, namespaces, preType, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3088 |
selector = origSelector || this.selector, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3089 |
context = origSelector ? this : jQuery( this.context ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3090 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3091 |
if ( typeof types === "object" && !types.preventDefault ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3092 |
for ( var key in types ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3093 |
context[ name ]( key, data, types[key], selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3094 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3095 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3096 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3097 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3098 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3099 |
if ( jQuery.isFunction( data ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3100 |
fn = data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3101 |
data = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3102 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3103 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3104 |
types = (types || "").split(" ");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3105 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3106 |
while ( (type = types[ i++ ]) != null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3107 |
match = rnamespaces.exec( type ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3108 |
namespaces = ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3109 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3110 |
if ( match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3111 |
namespaces = match[0]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3112 |
type = type.replace( rnamespaces, "" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3113 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3114 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3115 |
if ( type === "hover" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3116 |
types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3117 |
continue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3118 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3119 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3120 |
preType = type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3121 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3122 |
if ( type === "focus" || type === "blur" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3123 |
types.push( liveMap[ type ] + namespaces ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3124 |
type = type + namespaces; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3125 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3126 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3127 |
type = (liveMap[ type ] || type) + namespaces; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3128 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3129 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3130 |
if ( name === "live" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3131 |
// bind live handler |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3132 |
for ( var j = 0, l = context.length; j < l; j++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3133 |
jQuery.event.add( context[j], "live." + liveConvert( type, selector ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3134 |
{ data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3135 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3136 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3137 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3138 |
// unbind live handler |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3139 |
context.unbind( "live." + liveConvert( type, selector ), fn ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3140 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3141 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3142 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3143 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3144 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3145 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3146 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3147 |
function liveHandler( event ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3148 |
var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3149 |
elems = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3150 |
selectors = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3151 |
events = jQuery._data( this, eventKey ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3152 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3153 |
if ( typeof events === "function" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3154 |
events = events.events; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3155 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3156 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3157 |
// Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3158 |
if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3159 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3160 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3161 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3162 |
if ( event.namespace ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3163 |
namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3164 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3165 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3166 |
event.liveFired = this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3167 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3168 |
var live = events.live.slice(0); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3169 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3170 |
for ( j = 0; j < live.length; j++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3171 |
handleObj = live[j]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3172 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3173 |
if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3174 |
selectors.push( handleObj.selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3175 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3176 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3177 |
live.splice( j--, 1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3178 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3179 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3180 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3181 |
match = jQuery( event.target ).closest( selectors, event.currentTarget ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3182 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3183 |
for ( i = 0, l = match.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3184 |
close = match[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3185 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3186 |
for ( j = 0; j < live.length; j++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3187 |
handleObj = live[j]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3188 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3189 |
if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3190 |
elem = close.elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3191 |
related = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3192 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3193 |
// Those two events require additional checking |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3194 |
if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3195 |
event.type = handleObj.preType; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3196 |
related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3197 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3198 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3199 |
if ( !related || related !== elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3200 |
elems.push({ elem: elem, handleObj: handleObj, level: close.level });
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3201 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3202 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3203 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3204 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3205 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3206 |
for ( i = 0, l = elems.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3207 |
match = elems[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3208 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3209 |
if ( maxLevel && match.level > maxLevel ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3210 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3211 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3212 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3213 |
event.currentTarget = match.elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3214 |
event.data = match.handleObj.data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3215 |
event.handleObj = match.handleObj; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3216 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3217 |
ret = match.handleObj.origHandler.apply( match.elem, arguments ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3218 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3219 |
if ( ret === false || event.isPropagationStopped() ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3220 |
maxLevel = match.level; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3221 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3222 |
if ( ret === false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3223 |
stop = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3224 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3225 |
if ( event.isImmediatePropagationStopped() ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3226 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3227 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3228 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3229 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3230 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3231 |
return stop; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3232 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3233 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3234 |
function liveConvert( type, selector ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3235 |
return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&"); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3236 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3237 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3238 |
jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3239 |
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3240 |
"change select submit keydown keypress keyup error").split(" "), function( i, name ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3241 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3242 |
// Handle event binding |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3243 |
jQuery.fn[ name ] = function( data, fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3244 |
if ( fn == null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3245 |
fn = data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3246 |
data = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3247 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3248 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3249 |
return arguments.length > 0 ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3250 |
this.bind( name, data, fn ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3251 |
this.trigger( name ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3252 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3253 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3254 |
if ( jQuery.attrFn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3255 |
jQuery.attrFn[ name ] = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3256 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3257 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3258 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3259 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3260 |
/*! |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3261 |
* Sizzle CSS Selector Engine |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3262 |
* Copyright 2011, The Dojo Foundation |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3263 |
* Released under the MIT, BSD, and GPL Licenses. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3264 |
* More information: http://sizzlejs.com/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3265 |
*/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3266 |
(function(){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3267 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3268 |
var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3269 |
done = 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3270 |
toString = Object.prototype.toString, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3271 |
hasDuplicate = false, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3272 |
baseHasDuplicate = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3273 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3274 |
// Here we check if the JavaScript engine is using some sort of |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3275 |
// optimization where it does not always call our comparision |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3276 |
// function. If that is the case, discard the hasDuplicate value. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3277 |
// Thus far that includes Google Chrome. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3278 |
[0, 0].sort(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3279 |
baseHasDuplicate = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3280 |
return 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3281 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3282 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3283 |
var Sizzle = function( selector, context, results, seed ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3284 |
results = results || []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3285 |
context = context || document; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3286 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3287 |
var origContext = context; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3288 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3289 |
if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3290 |
return []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3291 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3292 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3293 |
if ( !selector || typeof selector !== "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3294 |
return results; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3295 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3296 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3297 |
var m, set, checkSet, extra, ret, cur, pop, i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3298 |
prune = true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3299 |
contextXML = Sizzle.isXML( context ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3300 |
parts = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3301 |
soFar = selector; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3302 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3303 |
// Reset the position of the chunker regexp (start from head) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3304 |
do {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3305 |
chunker.exec( "" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3306 |
m = chunker.exec( soFar ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3307 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3308 |
if ( m ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3309 |
soFar = m[3]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3310 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3311 |
parts.push( m[1] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3312 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3313 |
if ( m[2] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3314 |
extra = m[3]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3315 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3316 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3317 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3318 |
} while ( m ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3319 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3320 |
if ( parts.length > 1 && origPOS.exec( selector ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3321 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3322 |
if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3323 |
set = posProcess( parts[0] + parts[1], context ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3324 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3325 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3326 |
set = Expr.relative[ parts[0] ] ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3327 |
[ context ] : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3328 |
Sizzle( parts.shift(), context ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3329 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3330 |
while ( parts.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3331 |
selector = parts.shift(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3332 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3333 |
if ( Expr.relative[ selector ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3334 |
selector += parts.shift(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3335 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3336 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3337 |
set = posProcess( selector, set ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3338 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3339 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3340 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3341 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3342 |
// Take a shortcut and set the context if the root selector is an ID |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3343 |
// (but not if it'll be faster if the inner selector is an ID) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3344 |
if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3345 |
Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3346 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3347 |
ret = Sizzle.find( parts.shift(), context, contextXML ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3348 |
context = ret.expr ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3349 |
Sizzle.filter( ret.expr, ret.set )[0] : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3350 |
ret.set[0]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3351 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3352 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3353 |
if ( context ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3354 |
ret = seed ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3355 |
{ expr: parts.pop(), set: makeArray(seed) } :
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3356 |
Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3357 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3358 |
set = ret.expr ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3359 |
Sizzle.filter( ret.expr, ret.set ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3360 |
ret.set; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3361 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3362 |
if ( parts.length > 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3363 |
checkSet = makeArray( set ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3364 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3365 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3366 |
prune = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3367 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3368 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3369 |
while ( parts.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3370 |
cur = parts.pop(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3371 |
pop = cur; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3372 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3373 |
if ( !Expr.relative[ cur ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3374 |
cur = ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3375 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3376 |
pop = parts.pop(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3377 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3378 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3379 |
if ( pop == null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3380 |
pop = context; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3381 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3382 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3383 |
Expr.relative[ cur ]( checkSet, pop, contextXML ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3384 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3385 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3386 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3387 |
checkSet = parts = []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3388 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3389 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3390 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3391 |
if ( !checkSet ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3392 |
checkSet = set; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3393 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3394 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3395 |
if ( !checkSet ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3396 |
Sizzle.error( cur || selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3397 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3398 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3399 |
if ( toString.call(checkSet) === "[object Array]" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3400 |
if ( !prune ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3401 |
results.push.apply( results, checkSet ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3402 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3403 |
} else if ( context && context.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3404 |
for ( i = 0; checkSet[i] != null; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3405 |
if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3406 |
results.push( set[i] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3407 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3408 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3409 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3410 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3411 |
for ( i = 0; checkSet[i] != null; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3412 |
if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3413 |
results.push( set[i] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3414 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3415 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3416 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3417 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3418 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3419 |
makeArray( checkSet, results ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3420 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3421 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3422 |
if ( extra ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3423 |
Sizzle( extra, origContext, results, seed ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3424 |
Sizzle.uniqueSort( results ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3425 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3426 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3427 |
return results; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3428 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3429 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3430 |
Sizzle.uniqueSort = function( results ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3431 |
if ( sortOrder ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3432 |
hasDuplicate = baseHasDuplicate; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3433 |
results.sort( sortOrder ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3434 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3435 |
if ( hasDuplicate ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3436 |
for ( var i = 1; i < results.length; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3437 |
if ( results[i] === results[ i - 1 ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3438 |
results.splice( i--, 1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3439 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3440 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3441 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3442 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3443 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3444 |
return results; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3445 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3446 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3447 |
Sizzle.matches = function( expr, set ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3448 |
return Sizzle( expr, null, null, set ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3449 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3450 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3451 |
Sizzle.matchesSelector = function( node, expr ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3452 |
return Sizzle( expr, null, null, [node] ).length > 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3453 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3454 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3455 |
Sizzle.find = function( expr, context, isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3456 |
var set; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3457 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3458 |
if ( !expr ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3459 |
return []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3460 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3461 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3462 |
for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3463 |
var match, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3464 |
type = Expr.order[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3465 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3466 |
if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3467 |
var left = match[1]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3468 |
match.splice( 1, 1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3469 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3470 |
if ( left.substr( left.length - 1 ) !== "\\" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3471 |
match[1] = (match[1] || "").replace(/\\/g, ""); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3472 |
set = Expr.find[ type ]( match, context, isXML ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3473 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3474 |
if ( set != null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3475 |
expr = expr.replace( Expr.match[ type ], "" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3476 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3477 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3478 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3479 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3480 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3481 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3482 |
if ( !set ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3483 |
set = typeof context.getElementsByTagName !== "undefined" ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3484 |
context.getElementsByTagName( "*" ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3485 |
[]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3486 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3487 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3488 |
return { set: set, expr: expr };
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3489 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3490 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3491 |
Sizzle.filter = function( expr, set, inplace, not ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3492 |
var match, anyFound, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3493 |
old = expr, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3494 |
result = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3495 |
curLoop = set, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3496 |
isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3497 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3498 |
while ( expr && set.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3499 |
for ( var type in Expr.filter ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3500 |
if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3501 |
var found, item, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3502 |
filter = Expr.filter[ type ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3503 |
left = match[1]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3504 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3505 |
anyFound = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3506 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3507 |
match.splice(1,1); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3508 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3509 |
if ( left.substr( left.length - 1 ) === "\\" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3510 |
continue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3511 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3512 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3513 |
if ( curLoop === result ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3514 |
result = []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3515 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3516 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3517 |
if ( Expr.preFilter[ type ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3518 |
match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3519 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3520 |
if ( !match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3521 |
anyFound = found = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3522 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3523 |
} else if ( match === true ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3524 |
continue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3525 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3526 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3527 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3528 |
if ( match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3529 |
for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3530 |
if ( item ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3531 |
found = filter( item, match, i, curLoop ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3532 |
var pass = not ^ !!found; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3533 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3534 |
if ( inplace && found != null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3535 |
if ( pass ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3536 |
anyFound = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3537 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3538 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3539 |
curLoop[i] = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3540 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3541 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3542 |
} else if ( pass ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3543 |
result.push( item ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3544 |
anyFound = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3545 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3546 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3547 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3548 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3549 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3550 |
if ( found !== undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3551 |
if ( !inplace ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3552 |
curLoop = result; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3553 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3554 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3555 |
expr = expr.replace( Expr.match[ type ], "" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3556 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3557 |
if ( !anyFound ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3558 |
return []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3559 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3560 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3561 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3562 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3563 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3564 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3565 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3566 |
// Improper expression |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3567 |
if ( expr === old ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3568 |
if ( anyFound == null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3569 |
Sizzle.error( expr ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3570 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3571 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3572 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3573 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3574 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3575 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3576 |
old = expr; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3577 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3578 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3579 |
return curLoop; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3580 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3581 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3582 |
Sizzle.error = function( msg ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3583 |
throw "Syntax error, unrecognized expression: " + msg; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3584 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3585 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3586 |
var Expr = Sizzle.selectors = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3587 |
order: [ "ID", "NAME", "TAG" ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3588 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3589 |
match: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3590 |
ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3591 |
CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3592 |
NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3593 |
ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3594 |
TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3595 |
CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3596 |
POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3597 |
PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3598 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3599 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3600 |
leftMatch: {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3601 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3602 |
attrMap: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3603 |
"class": "className", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3604 |
"for": "htmlFor" |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3605 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3606 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3607 |
attrHandle: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3608 |
href: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3609 |
return elem.getAttribute( "href" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3610 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3611 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3612 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3613 |
relative: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3614 |
"+": function(checkSet, part){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3615 |
var isPartStr = typeof part === "string", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3616 |
isTag = isPartStr && !/\W/.test( part ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3617 |
isPartStrNotTag = isPartStr && !isTag; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3618 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3619 |
if ( isTag ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3620 |
part = part.toLowerCase(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3621 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3622 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3623 |
for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3624 |
if ( (elem = checkSet[i]) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3625 |
while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3626 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3627 |
checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3628 |
elem || false : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3629 |
elem === part; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3630 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3631 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3632 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3633 |
if ( isPartStrNotTag ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3634 |
Sizzle.filter( part, checkSet, true ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3635 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3636 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3637 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3638 |
">": function( checkSet, part ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3639 |
var elem, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3640 |
isPartStr = typeof part === "string", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3641 |
i = 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3642 |
l = checkSet.length; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3643 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3644 |
if ( isPartStr && !/\W/.test( part ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3645 |
part = part.toLowerCase(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3646 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3647 |
for ( ; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3648 |
elem = checkSet[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3649 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3650 |
if ( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3651 |
var parent = elem.parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3652 |
checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3653 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3654 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3655 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3656 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3657 |
for ( ; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3658 |
elem = checkSet[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3659 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3660 |
if ( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3661 |
checkSet[i] = isPartStr ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3662 |
elem.parentNode : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3663 |
elem.parentNode === part; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3664 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3665 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3666 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3667 |
if ( isPartStr ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3668 |
Sizzle.filter( part, checkSet, true ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3669 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3670 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3671 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3672 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3673 |
"": function(checkSet, part, isXML){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3674 |
var nodeCheck, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3675 |
doneName = done++, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3676 |
checkFn = dirCheck; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3677 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3678 |
if ( typeof part === "string" && !/\W/.test(part) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3679 |
part = part.toLowerCase(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3680 |
nodeCheck = part; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3681 |
checkFn = dirNodeCheck; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3682 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3683 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3684 |
checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3685 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3686 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3687 |
"~": function( checkSet, part, isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3688 |
var nodeCheck, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3689 |
doneName = done++, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3690 |
checkFn = dirCheck; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3691 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3692 |
if ( typeof part === "string" && !/\W/.test( part ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3693 |
part = part.toLowerCase(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3694 |
nodeCheck = part; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3695 |
checkFn = dirNodeCheck; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3696 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3697 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3698 |
checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3699 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3700 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3701 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3702 |
find: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3703 |
ID: function( match, context, isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3704 |
if ( typeof context.getElementById !== "undefined" && !isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3705 |
var m = context.getElementById(match[1]); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3706 |
// Check parentNode to catch when Blackberry 4.6 returns |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3707 |
// nodes that are no longer in the document #6963 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3708 |
return m && m.parentNode ? [m] : []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3709 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3710 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3711 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3712 |
NAME: function( match, context ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3713 |
if ( typeof context.getElementsByName !== "undefined" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3714 |
var ret = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3715 |
results = context.getElementsByName( match[1] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3716 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3717 |
for ( var i = 0, l = results.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3718 |
if ( results[i].getAttribute("name") === match[1] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3719 |
ret.push( results[i] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3720 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3721 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3722 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3723 |
return ret.length === 0 ? null : ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3724 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3725 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3726 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3727 |
TAG: function( match, context ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3728 |
if ( typeof context.getElementsByTagName !== "undefined" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3729 |
return context.getElementsByTagName( match[1] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3730 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3731 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3732 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3733 |
preFilter: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3734 |
CLASS: function( match, curLoop, inplace, result, not, isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3735 |
match = " " + match[1].replace(/\\/g, "") + " "; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3736 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3737 |
if ( isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3738 |
return match; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3739 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3740 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3741 |
for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3742 |
if ( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3743 |
if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3744 |
if ( !inplace ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3745 |
result.push( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3746 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3747 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3748 |
} else if ( inplace ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3749 |
curLoop[i] = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3750 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3751 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3752 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3753 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3754 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3755 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3756 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3757 |
ID: function( match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3758 |
return match[1].replace(/\\/g, ""); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3759 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3760 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3761 |
TAG: function( match, curLoop ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3762 |
return match[1].toLowerCase(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3763 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3764 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3765 |
CHILD: function( match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3766 |
if ( match[1] === "nth" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3767 |
if ( !match[2] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3768 |
Sizzle.error( match[0] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3769 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3770 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3771 |
match[2] = match[2].replace(/^\+|\s*/g, ''); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3772 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3773 |
// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3774 |
var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3775 |
match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3776 |
!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3777 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3778 |
// calculate the numbers (first)n+(last) including if they are negative |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3779 |
match[2] = (test[1] + (test[2] || 1)) - 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3780 |
match[3] = test[3] - 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3781 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3782 |
else if ( match[2] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3783 |
Sizzle.error( match[0] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3784 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3785 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3786 |
// TODO: Move to normal caching system |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3787 |
match[0] = done++; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3788 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3789 |
return match; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3790 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3791 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3792 |
ATTR: function( match, curLoop, inplace, result, not, isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3793 |
var name = match[1] = match[1].replace(/\\/g, ""); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3794 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3795 |
if ( !isXML && Expr.attrMap[name] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3796 |
match[1] = Expr.attrMap[name]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3797 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3798 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3799 |
// Handle if an un-quoted value was used |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3800 |
match[4] = ( match[4] || match[5] || "" ).replace(/\\/g, ""); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3801 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3802 |
if ( match[2] === "~=" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3803 |
match[4] = " " + match[4] + " "; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3804 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3805 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3806 |
return match; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3807 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3808 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3809 |
PSEUDO: function( match, curLoop, inplace, result, not ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3810 |
if ( match[1] === "not" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3811 |
// If we're dealing with a complex expression, or a simple one |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3812 |
if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3813 |
match[3] = Sizzle(match[3], null, null, curLoop); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3814 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3815 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3816 |
var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3817 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3818 |
if ( !inplace ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3819 |
result.push.apply( result, ret ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3820 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3821 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3822 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3823 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3824 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3825 |
} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3826 |
return true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3827 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3828 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3829 |
return match; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3830 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3831 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3832 |
POS: function( match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3833 |
match.unshift( true ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3834 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3835 |
return match; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3836 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3837 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3838 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3839 |
filters: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3840 |
enabled: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3841 |
return elem.disabled === false && elem.type !== "hidden"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3842 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3843 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3844 |
disabled: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3845 |
return elem.disabled === true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3846 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3847 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3848 |
checked: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3849 |
return elem.checked === true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3850 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3851 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3852 |
selected: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3853 |
// Accessing this property makes selected-by-default |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3854 |
// options in Safari work properly |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3855 |
elem.parentNode.selectedIndex; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3856 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3857 |
return elem.selected === true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3858 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3859 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3860 |
parent: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3861 |
return !!elem.firstChild; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3862 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3863 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3864 |
empty: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3865 |
return !elem.firstChild; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3866 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3867 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3868 |
has: function( elem, i, match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3869 |
return !!Sizzle( match[3], elem ).length; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3870 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3871 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3872 |
header: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3873 |
return (/h\d/i).test( elem.nodeName ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3874 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3875 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3876 |
text: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3877 |
return "text" === elem.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3878 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3879 |
radio: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3880 |
return "radio" === elem.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3881 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3882 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3883 |
checkbox: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3884 |
return "checkbox" === elem.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3885 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3886 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3887 |
file: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3888 |
return "file" === elem.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3889 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3890 |
password: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3891 |
return "password" === elem.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3892 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3893 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3894 |
submit: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3895 |
return "submit" === elem.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3896 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3897 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3898 |
image: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3899 |
return "image" === elem.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3900 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3901 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3902 |
reset: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3903 |
return "reset" === elem.type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3904 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3905 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3906 |
button: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3907 |
return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3908 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3909 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3910 |
input: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3911 |
return (/input|select|textarea|button/i).test( elem.nodeName ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3912 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3913 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3914 |
setFilters: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3915 |
first: function( elem, i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3916 |
return i === 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3917 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3918 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3919 |
last: function( elem, i, match, array ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3920 |
return i === array.length - 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3921 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3922 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3923 |
even: function( elem, i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3924 |
return i % 2 === 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3925 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3926 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3927 |
odd: function( elem, i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3928 |
return i % 2 === 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3929 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3930 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3931 |
lt: function( elem, i, match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3932 |
return i < match[3] - 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3933 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3934 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3935 |
gt: function( elem, i, match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3936 |
return i > match[3] - 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3937 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3938 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3939 |
nth: function( elem, i, match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3940 |
return match[3] - 0 === i; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3941 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3942 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3943 |
eq: function( elem, i, match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3944 |
return match[3] - 0 === i; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3945 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3946 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3947 |
filter: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3948 |
PSEUDO: function( elem, match, i, array ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3949 |
var name = match[1], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3950 |
filter = Expr.filters[ name ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3951 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3952 |
if ( filter ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3953 |
return filter( elem, i, match, array ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3954 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3955 |
} else if ( name === "contains" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3956 |
return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3957 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3958 |
} else if ( name === "not" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3959 |
var not = match[3]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3960 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3961 |
for ( var j = 0, l = not.length; j < l; j++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3962 |
if ( not[j] === elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3963 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3964 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3965 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3966 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3967 |
return true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3968 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3969 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3970 |
Sizzle.error( name ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3971 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3972 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3973 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3974 |
CHILD: function( elem, match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3975 |
var type = match[1], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3976 |
node = elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3977 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3978 |
switch ( type ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3979 |
case "only": |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3980 |
case "first": |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3981 |
while ( (node = node.previousSibling) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3982 |
if ( node.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3983 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3984 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3985 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3986 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3987 |
if ( type === "first" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3988 |
return true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3989 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3990 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3991 |
node = elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3992 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3993 |
case "last": |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3994 |
while ( (node = node.nextSibling) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3995 |
if ( node.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3996 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3997 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3998 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3999 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4000 |
return true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4001 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4002 |
case "nth": |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4003 |
var first = match[2], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4004 |
last = match[3]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4005 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4006 |
if ( first === 1 && last === 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4007 |
return true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4008 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4009 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4010 |
var doneName = match[0], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4011 |
parent = elem.parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4012 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4013 |
if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4014 |
var count = 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4015 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4016 |
for ( node = parent.firstChild; node; node = node.nextSibling ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4017 |
if ( node.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4018 |
node.nodeIndex = ++count; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4019 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4020 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4021 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4022 |
parent.sizcache = doneName; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4023 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4024 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4025 |
var diff = elem.nodeIndex - last; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4026 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4027 |
if ( first === 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4028 |
return diff === 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4029 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4030 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4031 |
return ( diff % first === 0 && diff / first >= 0 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4032 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4033 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4034 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4035 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4036 |
ID: function( elem, match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4037 |
return elem.nodeType === 1 && elem.getAttribute("id") === match;
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4038 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4039 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4040 |
TAG: function( elem, match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4041 |
return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4042 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4043 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4044 |
CLASS: function( elem, match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4045 |
return (" " + (elem.className || elem.getAttribute("class")) + " ")
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4046 |
.indexOf( match ) > -1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4047 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4048 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4049 |
ATTR: function( elem, match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4050 |
var name = match[1], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4051 |
result = Expr.attrHandle[ name ] ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4052 |
Expr.attrHandle[ name ]( elem ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4053 |
elem[ name ] != null ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4054 |
elem[ name ] : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4055 |
elem.getAttribute( name ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4056 |
value = result + "", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4057 |
type = match[2], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4058 |
check = match[4]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4059 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4060 |
return result == null ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4061 |
type === "!=" : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4062 |
type === "=" ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4063 |
value === check : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4064 |
type === "*=" ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4065 |
value.indexOf(check) >= 0 : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4066 |
type === "~=" ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4067 |
(" " + value + " ").indexOf(check) >= 0 :
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4068 |
!check ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4069 |
value && result !== false : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4070 |
type === "!=" ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4071 |
value !== check : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4072 |
type === "^=" ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4073 |
value.indexOf(check) === 0 : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4074 |
type === "$=" ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4075 |
value.substr(value.length - check.length) === check : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4076 |
type === "|=" ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4077 |
value === check || value.substr(0, check.length + 1) === check + "-" : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4078 |
false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4079 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4080 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4081 |
POS: function( elem, match, i, array ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4082 |
var name = match[2], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4083 |
filter = Expr.setFilters[ name ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4084 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4085 |
if ( filter ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4086 |
return filter( elem, i, match, array ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4087 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4088 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4089 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4090 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4091 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4092 |
var origPOS = Expr.match.POS, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4093 |
fescape = function(all, num){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4094 |
return "\\" + (num - 0 + 1); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4095 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4096 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4097 |
for ( var type in Expr.match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4098 |
Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4099 |
Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4100 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4101 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4102 |
var makeArray = function( array, results ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4103 |
array = Array.prototype.slice.call( array, 0 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4104 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4105 |
if ( results ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4106 |
results.push.apply( results, array ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4107 |
return results; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4108 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4109 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4110 |
return array; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4111 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4112 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4113 |
// Perform a simple check to determine if the browser is capable of |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4114 |
// converting a NodeList to an array using builtin methods. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4115 |
// Also verifies that the returned array holds DOM nodes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4116 |
// (which is not the case in the Blackberry browser) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4117 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4118 |
Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4119 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4120 |
// Provide a fallback method if it does not work |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4121 |
} catch( e ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4122 |
makeArray = function( array, results ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4123 |
var i = 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4124 |
ret = results || []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4125 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4126 |
if ( toString.call(array) === "[object Array]" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4127 |
Array.prototype.push.apply( ret, array ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4128 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4129 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4130 |
if ( typeof array.length === "number" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4131 |
for ( var l = array.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4132 |
ret.push( array[i] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4133 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4134 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4135 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4136 |
for ( ; array[i]; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4137 |
ret.push( array[i] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4138 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4139 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4140 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4141 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4142 |
return ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4143 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4144 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4145 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4146 |
var sortOrder, siblingCheck; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4147 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4148 |
if ( document.documentElement.compareDocumentPosition ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4149 |
sortOrder = function( a, b ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4150 |
if ( a === b ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4151 |
hasDuplicate = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4152 |
return 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4153 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4154 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4155 |
if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4156 |
return a.compareDocumentPosition ? -1 : 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4157 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4158 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4159 |
return a.compareDocumentPosition(b) & 4 ? -1 : 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4160 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4161 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4162 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4163 |
sortOrder = function( a, b ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4164 |
var al, bl, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4165 |
ap = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4166 |
bp = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4167 |
aup = a.parentNode, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4168 |
bup = b.parentNode, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4169 |
cur = aup; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4170 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4171 |
// The nodes are identical, we can exit early |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4172 |
if ( a === b ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4173 |
hasDuplicate = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4174 |
return 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4175 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4176 |
// If the nodes are siblings (or identical) we can do a quick check |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4177 |
} else if ( aup === bup ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4178 |
return siblingCheck( a, b ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4179 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4180 |
// If no parents were found then the nodes are disconnected |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4181 |
} else if ( !aup ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4182 |
return -1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4183 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4184 |
} else if ( !bup ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4185 |
return 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4186 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4187 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4188 |
// Otherwise they're somewhere else in the tree so we need |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4189 |
// to build up a full list of the parentNodes for comparison |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4190 |
while ( cur ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4191 |
ap.unshift( cur ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4192 |
cur = cur.parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4193 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4194 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4195 |
cur = bup; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4196 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4197 |
while ( cur ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4198 |
bp.unshift( cur ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4199 |
cur = cur.parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4200 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4201 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4202 |
al = ap.length; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4203 |
bl = bp.length; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4204 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4205 |
// Start walking down the tree looking for a discrepancy |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4206 |
for ( var i = 0; i < al && i < bl; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4207 |
if ( ap[i] !== bp[i] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4208 |
return siblingCheck( ap[i], bp[i] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4209 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4210 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4211 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4212 |
// We ended someplace up the tree so do a sibling check |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4213 |
return i === al ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4214 |
siblingCheck( a, bp[i], -1 ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4215 |
siblingCheck( ap[i], b, 1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4216 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4217 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4218 |
siblingCheck = function( a, b, ret ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4219 |
if ( a === b ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4220 |
return ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4221 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4222 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4223 |
var cur = a.nextSibling; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4224 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4225 |
while ( cur ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4226 |
if ( cur === b ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4227 |
return -1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4228 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4229 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4230 |
cur = cur.nextSibling; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4231 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4232 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4233 |
return 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4234 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4235 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4236 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4237 |
// Utility function for retreiving the text value of an array of DOM nodes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4238 |
Sizzle.getText = function( elems ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4239 |
var ret = "", elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4240 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4241 |
for ( var i = 0; elems[i]; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4242 |
elem = elems[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4243 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4244 |
// Get the text from text nodes and CDATA nodes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4245 |
if ( elem.nodeType === 3 || elem.nodeType === 4 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4246 |
ret += elem.nodeValue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4247 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4248 |
// Traverse everything else, except comment nodes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4249 |
} else if ( elem.nodeType !== 8 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4250 |
ret += Sizzle.getText( elem.childNodes ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4251 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4252 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4253 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4254 |
return ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4255 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4256 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4257 |
// Check to see if the browser returns elements by name when |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4258 |
// querying by getElementById (and provide a workaround) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4259 |
(function(){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4260 |
// We're going to inject a fake input element with a specified name |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4261 |
var form = document.createElement("div"),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4262 |
id = "script" + (new Date()).getTime(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4263 |
root = document.documentElement; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4264 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4265 |
form.innerHTML = "<a name='" + id + "'/>"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4266 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4267 |
// Inject it into the root element, check its status, and remove it quickly |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4268 |
root.insertBefore( form, root.firstChild ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4269 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4270 |
// The workaround has to do additional checks after a getElementById |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4271 |
// Which slows things down for other browsers (hence the branching) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4272 |
if ( document.getElementById( id ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4273 |
Expr.find.ID = function( match, context, isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4274 |
if ( typeof context.getElementById !== "undefined" && !isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4275 |
var m = context.getElementById(match[1]); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4276 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4277 |
return m ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4278 |
m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ?
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4279 |
[m] : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4280 |
undefined : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4281 |
[]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4282 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4283 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4284 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4285 |
Expr.filter.ID = function( elem, match ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4286 |
var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4287 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4288 |
return elem.nodeType === 1 && node && node.nodeValue === match; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4289 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4290 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4291 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4292 |
root.removeChild( form ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4293 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4294 |
// release memory in IE |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4295 |
root = form = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4296 |
})(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4297 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4298 |
(function(){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4299 |
// Check to see if the browser returns only elements |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4300 |
// when doing getElementsByTagName("*")
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4301 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4302 |
// Create a fake element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4303 |
var div = document.createElement("div");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4304 |
div.appendChild( document.createComment("") );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4305 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4306 |
// Make sure no comments are found |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4307 |
if ( div.getElementsByTagName("*").length > 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4308 |
Expr.find.TAG = function( match, context ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4309 |
var results = context.getElementsByTagName( match[1] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4310 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4311 |
// Filter out possible comments |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4312 |
if ( match[1] === "*" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4313 |
var tmp = []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4314 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4315 |
for ( var i = 0; results[i]; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4316 |
if ( results[i].nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4317 |
tmp.push( results[i] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4318 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4319 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4320 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4321 |
results = tmp; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4322 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4323 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4324 |
return results; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4325 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4326 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4327 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4328 |
// Check to see if an attribute returns normalized href attributes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4329 |
div.innerHTML = "<a href='#'></a>"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4330 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4331 |
if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4332 |
div.firstChild.getAttribute("href") !== "#" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4333 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4334 |
Expr.attrHandle.href = function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4335 |
return elem.getAttribute( "href", 2 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4336 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4337 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4338 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4339 |
// release memory in IE |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4340 |
div = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4341 |
})(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4342 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4343 |
if ( document.querySelectorAll ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4344 |
(function(){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4345 |
var oldSizzle = Sizzle, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4346 |
div = document.createElement("div"),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4347 |
id = "__sizzle__"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4348 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4349 |
div.innerHTML = "<p class='TEST'></p>"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4350 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4351 |
// Safari can't handle uppercase or unicode characters when |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4352 |
// in quirks mode. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4353 |
if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4354 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4355 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4356 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4357 |
Sizzle = function( query, context, extra, seed ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4358 |
context = context || document; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4359 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4360 |
// Only use querySelectorAll on non-XML documents |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4361 |
// (ID selectors don't work in non-HTML documents) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4362 |
if ( !seed && !Sizzle.isXML(context) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4363 |
// See if we find a selector to speed up |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4364 |
var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4365 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4366 |
if ( match && (context.nodeType === 1 || context.nodeType === 9) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4367 |
// Speed-up: Sizzle("TAG")
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4368 |
if ( match[1] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4369 |
return makeArray( context.getElementsByTagName( query ), extra ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4370 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4371 |
// Speed-up: Sizzle(".CLASS")
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4372 |
} else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4373 |
return makeArray( context.getElementsByClassName( match[2] ), extra ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4374 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4375 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4376 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4377 |
if ( context.nodeType === 9 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4378 |
// Speed-up: Sizzle("body")
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4379 |
// The body element only exists once, optimize finding it |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4380 |
if ( query === "body" && context.body ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4381 |
return makeArray( [ context.body ], extra ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4382 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4383 |
// Speed-up: Sizzle("#ID")
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4384 |
} else if ( match && match[3] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4385 |
var elem = context.getElementById( match[3] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4386 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4387 |
// Check parentNode to catch when Blackberry 4.6 returns |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4388 |
// nodes that are no longer in the document #6963 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4389 |
if ( elem && elem.parentNode ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4390 |
// Handle the case where IE and Opera return items |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4391 |
// by name instead of ID |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4392 |
if ( elem.id === match[3] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4393 |
return makeArray( [ elem ], extra ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4394 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4395 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4396 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4397 |
return makeArray( [], extra ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4398 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4399 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4400 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4401 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4402 |
return makeArray( context.querySelectorAll(query), extra ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4403 |
} catch(qsaError) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4404 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4405 |
// qSA works strangely on Element-rooted queries |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4406 |
// We can work around this by specifying an extra ID on the root |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4407 |
// and working up from there (Thanks to Andrew Dupont for the technique) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4408 |
// IE 8 doesn't work on object elements |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4409 |
} else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4410 |
var old = context.getAttribute( "id" ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4411 |
nid = old || id, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4412 |
hasParent = context.parentNode, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4413 |
relativeHierarchySelector = /^\s*[+~]/.test( query ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4414 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4415 |
if ( !old ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4416 |
context.setAttribute( "id", nid ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4417 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4418 |
nid = nid.replace( /'/g, "\\$&" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4419 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4420 |
if ( relativeHierarchySelector && hasParent ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4421 |
context = context.parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4422 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4423 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4424 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4425 |
if ( !relativeHierarchySelector || hasParent ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4426 |
return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4427 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4428 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4429 |
} catch(pseudoError) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4430 |
} finally {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4431 |
if ( !old ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4432 |
context.removeAttribute( "id" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4433 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4434 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4435 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4436 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4437 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4438 |
return oldSizzle(query, context, extra, seed); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4439 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4440 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4441 |
for ( var prop in oldSizzle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4442 |
Sizzle[ prop ] = oldSizzle[ prop ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4443 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4444 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4445 |
// release memory in IE |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4446 |
div = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4447 |
})(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4448 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4449 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4450 |
(function(){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4451 |
var html = document.documentElement, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4452 |
matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4453 |
pseudoWorks = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4454 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4455 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4456 |
// This should fail with an exception |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4457 |
// Gecko does not error, returns false instead |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4458 |
matches.call( document.documentElement, "[test!='']:sizzle" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4459 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4460 |
} catch( pseudoError ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4461 |
pseudoWorks = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4462 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4463 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4464 |
if ( matches ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4465 |
Sizzle.matchesSelector = function( node, expr ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4466 |
// Make sure that attribute selectors are quoted |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4467 |
expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4468 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4469 |
if ( !Sizzle.isXML( node ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4470 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4471 |
if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4472 |
return matches.call( node, expr ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4473 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4474 |
} catch(e) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4475 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4476 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4477 |
return Sizzle(expr, null, null, [node]).length > 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4478 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4479 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4480 |
})(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4481 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4482 |
(function(){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4483 |
var div = document.createElement("div");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4484 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4485 |
div.innerHTML = "<div class='test e'></div><div class='test'></div>"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4486 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4487 |
// Opera can't find a second classname (in 9.6) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4488 |
// Also, make sure that getElementsByClassName actually exists |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4489 |
if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4490 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4491 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4492 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4493 |
// Safari caches class attributes, doesn't catch changes (in 3.2) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4494 |
div.lastChild.className = "e"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4495 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4496 |
if ( div.getElementsByClassName("e").length === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4497 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4498 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4499 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4500 |
Expr.order.splice(1, 0, "CLASS"); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4501 |
Expr.find.CLASS = function( match, context, isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4502 |
if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4503 |
return context.getElementsByClassName(match[1]); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4504 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4505 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4506 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4507 |
// release memory in IE |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4508 |
div = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4509 |
})(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4510 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4511 |
function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4512 |
for ( var i = 0, l = checkSet.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4513 |
var elem = checkSet[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4514 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4515 |
if ( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4516 |
var match = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4517 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4518 |
elem = elem[dir]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4519 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4520 |
while ( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4521 |
if ( elem.sizcache === doneName ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4522 |
match = checkSet[elem.sizset]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4523 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4524 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4525 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4526 |
if ( elem.nodeType === 1 && !isXML ){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4527 |
elem.sizcache = doneName; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4528 |
elem.sizset = i; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4529 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4530 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4531 |
if ( elem.nodeName.toLowerCase() === cur ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4532 |
match = elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4533 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4534 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4535 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4536 |
elem = elem[dir]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4537 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4538 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4539 |
checkSet[i] = match; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4540 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4541 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4542 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4543 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4544 |
function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4545 |
for ( var i = 0, l = checkSet.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4546 |
var elem = checkSet[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4547 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4548 |
if ( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4549 |
var match = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4550 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4551 |
elem = elem[dir]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4552 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4553 |
while ( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4554 |
if ( elem.sizcache === doneName ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4555 |
match = checkSet[elem.sizset]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4556 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4557 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4558 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4559 |
if ( elem.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4560 |
if ( !isXML ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4561 |
elem.sizcache = doneName; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4562 |
elem.sizset = i; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4563 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4564 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4565 |
if ( typeof cur !== "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4566 |
if ( elem === cur ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4567 |
match = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4568 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4569 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4570 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4571 |
} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4572 |
match = elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4573 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4574 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4575 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4576 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4577 |
elem = elem[dir]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4578 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4579 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4580 |
checkSet[i] = match; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4581 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4582 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4583 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4584 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4585 |
if ( document.documentElement.contains ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4586 |
Sizzle.contains = function( a, b ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4587 |
return a !== b && (a.contains ? a.contains(b) : true); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4588 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4589 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4590 |
} else if ( document.documentElement.compareDocumentPosition ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4591 |
Sizzle.contains = function( a, b ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4592 |
return !!(a.compareDocumentPosition(b) & 16); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4593 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4594 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4595 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4596 |
Sizzle.contains = function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4597 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4598 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4599 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4600 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4601 |
Sizzle.isXML = function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4602 |
// documentElement is verified for cases where it doesn't yet exist |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4603 |
// (such as loading iframes in IE - #4833) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4604 |
var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4605 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4606 |
return documentElement ? documentElement.nodeName !== "HTML" : false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4607 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4608 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4609 |
var posProcess = function( selector, context ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4610 |
var match, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4611 |
tmpSet = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4612 |
later = "", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4613 |
root = context.nodeType ? [context] : context; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4614 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4615 |
// Position selectors must be done after the filter |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4616 |
// And so must :not(positional) so we move all PSEUDOs to the end |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4617 |
while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4618 |
later += match[0]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4619 |
selector = selector.replace( Expr.match.PSEUDO, "" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4620 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4621 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4622 |
selector = Expr.relative[selector] ? selector + "*" : selector; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4623 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4624 |
for ( var i = 0, l = root.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4625 |
Sizzle( selector, root[i], tmpSet ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4626 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4627 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4628 |
return Sizzle.filter( later, tmpSet ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4629 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4630 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4631 |
// EXPOSE |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4632 |
jQuery.find = Sizzle; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4633 |
jQuery.expr = Sizzle.selectors; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4634 |
jQuery.expr[":"] = jQuery.expr.filters; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4635 |
jQuery.unique = Sizzle.uniqueSort; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4636 |
jQuery.text = Sizzle.getText; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4637 |
jQuery.isXMLDoc = Sizzle.isXML; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4638 |
jQuery.contains = Sizzle.contains; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4639 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4640 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4641 |
})(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4642 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4643 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4644 |
var runtil = /Until$/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4645 |
rparentsprev = /^(?:parents|prevUntil|prevAll)/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4646 |
// Note: This RegExp should be improved, or likely pulled from Sizzle |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4647 |
rmultiselector = /,/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4648 |
isSimple = /^.[^:#\[\.,]*$/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4649 |
slice = Array.prototype.slice, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4650 |
POS = jQuery.expr.match.POS, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4651 |
// methods guaranteed to produce a unique set when starting from a unique set |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4652 |
guaranteedUnique = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4653 |
children: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4654 |
contents: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4655 |
next: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4656 |
prev: true |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4657 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4658 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4659 |
jQuery.fn.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4660 |
find: function( selector ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4661 |
var ret = this.pushStack( "", "find", selector ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4662 |
length = 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4663 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4664 |
for ( var i = 0, l = this.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4665 |
length = ret.length; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4666 |
jQuery.find( selector, this[i], ret ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4667 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4668 |
if ( i > 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4669 |
// Make sure that the results are unique |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4670 |
for ( var n = length; n < ret.length; n++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4671 |
for ( var r = 0; r < length; r++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4672 |
if ( ret[r] === ret[n] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4673 |
ret.splice(n--, 1); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4674 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4675 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4676 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4677 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4678 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4679 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4680 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4681 |
return ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4682 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4683 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4684 |
has: function( target ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4685 |
var targets = jQuery( target ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4686 |
return this.filter(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4687 |
for ( var i = 0, l = targets.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4688 |
if ( jQuery.contains( this, targets[i] ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4689 |
return true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4690 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4691 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4692 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4693 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4694 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4695 |
not: function( selector ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4696 |
return this.pushStack( winnow(this, selector, false), "not", selector); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4697 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4698 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4699 |
filter: function( selector ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4700 |
return this.pushStack( winnow(this, selector, true), "filter", selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4701 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4702 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4703 |
is: function( selector ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4704 |
return !!selector && jQuery.filter( selector, this ).length > 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4705 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4706 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4707 |
closest: function( selectors, context ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4708 |
var ret = [], i, l, cur = this[0]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4709 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4710 |
if ( jQuery.isArray( selectors ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4711 |
var match, selector, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4712 |
matches = {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4713 |
level = 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4714 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4715 |
if ( cur && selectors.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4716 |
for ( i = 0, l = selectors.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4717 |
selector = selectors[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4718 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4719 |
if ( !matches[selector] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4720 |
matches[selector] = jQuery.expr.match.POS.test( selector ) ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4721 |
jQuery( selector, context || this.context ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4722 |
selector; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4723 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4724 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4725 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4726 |
while ( cur && cur.ownerDocument && cur !== context ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4727 |
for ( selector in matches ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4728 |
match = matches[selector]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4729 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4730 |
if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4731 |
ret.push({ selector: selector, elem: cur, level: level });
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4732 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4733 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4734 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4735 |
cur = cur.parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4736 |
level++; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4737 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4738 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4739 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4740 |
return ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4741 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4742 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4743 |
var pos = POS.test( selectors ) ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4744 |
jQuery( selectors, context || this.context ) : null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4745 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4746 |
for ( i = 0, l = this.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4747 |
cur = this[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4748 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4749 |
while ( cur ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4750 |
if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4751 |
ret.push( cur ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4752 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4753 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4754 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4755 |
cur = cur.parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4756 |
if ( !cur || !cur.ownerDocument || cur === context ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4757 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4758 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4759 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4760 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4761 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4762 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4763 |
ret = ret.length > 1 ? jQuery.unique(ret) : ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4764 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4765 |
return this.pushStack( ret, "closest", selectors ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4766 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4767 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4768 |
// Determine the position of an element within |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4769 |
// the matched set of elements |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4770 |
index: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4771 |
if ( !elem || typeof elem === "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4772 |
return jQuery.inArray( this[0], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4773 |
// If it receives a string, the selector is used |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4774 |
// If it receives nothing, the siblings are used |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4775 |
elem ? jQuery( elem ) : this.parent().children() ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4776 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4777 |
// Locate the position of the desired element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4778 |
return jQuery.inArray( |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4779 |
// If it receives a jQuery object, the first element is used |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4780 |
elem.jquery ? elem[0] : elem, this ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4781 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4782 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4783 |
add: function( selector, context ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4784 |
var set = typeof selector === "string" ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4785 |
jQuery( selector, context ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4786 |
jQuery.makeArray( selector ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4787 |
all = jQuery.merge( this.get(), set ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4788 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4789 |
return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4790 |
all : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4791 |
jQuery.unique( all ) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4792 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4793 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4794 |
andSelf: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4795 |
return this.add( this.prevObject ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4796 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4797 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4798 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4799 |
// A painfully simple check to see if an element is disconnected |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4800 |
// from a document (should be improved, where feasible). |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4801 |
function isDisconnected( node ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4802 |
return !node || !node.parentNode || node.parentNode.nodeType === 11; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4803 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4804 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4805 |
jQuery.each({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4806 |
parent: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4807 |
var parent = elem.parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4808 |
return parent && parent.nodeType !== 11 ? parent : null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4809 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4810 |
parents: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4811 |
return jQuery.dir( elem, "parentNode" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4812 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4813 |
parentsUntil: function( elem, i, until ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4814 |
return jQuery.dir( elem, "parentNode", until ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4815 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4816 |
next: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4817 |
return jQuery.nth( elem, 2, "nextSibling" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4818 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4819 |
prev: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4820 |
return jQuery.nth( elem, 2, "previousSibling" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4821 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4822 |
nextAll: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4823 |
return jQuery.dir( elem, "nextSibling" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4824 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4825 |
prevAll: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4826 |
return jQuery.dir( elem, "previousSibling" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4827 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4828 |
nextUntil: function( elem, i, until ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4829 |
return jQuery.dir( elem, "nextSibling", until ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4830 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4831 |
prevUntil: function( elem, i, until ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4832 |
return jQuery.dir( elem, "previousSibling", until ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4833 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4834 |
siblings: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4835 |
return jQuery.sibling( elem.parentNode.firstChild, elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4836 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4837 |
children: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4838 |
return jQuery.sibling( elem.firstChild ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4839 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4840 |
contents: function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4841 |
return jQuery.nodeName( elem, "iframe" ) ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4842 |
elem.contentDocument || elem.contentWindow.document : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4843 |
jQuery.makeArray( elem.childNodes ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4844 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4845 |
}, function( name, fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4846 |
jQuery.fn[ name ] = function( until, selector ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4847 |
var ret = jQuery.map( this, fn, until ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4848 |
// The variable 'args' was introduced in |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4849 |
// https://github.com/jquery/jquery/commit/52a0238 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4850 |
// to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4851 |
// http://code.google.com/p/v8/issues/detail?id=1050 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4852 |
args = slice.call(arguments); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4853 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4854 |
if ( !runtil.test( name ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4855 |
selector = until; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4856 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4857 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4858 |
if ( selector && typeof selector === "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4859 |
ret = jQuery.filter( selector, ret ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4860 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4861 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4862 |
ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4863 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4864 |
if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4865 |
ret = ret.reverse(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4866 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4867 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4868 |
return this.pushStack( ret, name, args.join(",") );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4869 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4870 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4871 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4872 |
jQuery.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4873 |
filter: function( expr, elems, not ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4874 |
if ( not ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4875 |
expr = ":not(" + expr + ")";
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4876 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4877 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4878 |
return elems.length === 1 ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4879 |
jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4880 |
jQuery.find.matches(expr, elems); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4881 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4882 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4883 |
dir: function( elem, dir, until ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4884 |
var matched = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4885 |
cur = elem[ dir ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4886 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4887 |
while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4888 |
if ( cur.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4889 |
matched.push( cur ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4890 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4891 |
cur = cur[dir]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4892 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4893 |
return matched; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4894 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4895 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4896 |
nth: function( cur, result, dir, elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4897 |
result = result || 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4898 |
var num = 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4899 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4900 |
for ( ; cur; cur = cur[dir] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4901 |
if ( cur.nodeType === 1 && ++num === result ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4902 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4903 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4904 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4905 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4906 |
return cur; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4907 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4908 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4909 |
sibling: function( n, elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4910 |
var r = []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4911 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4912 |
for ( ; n; n = n.nextSibling ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4913 |
if ( n.nodeType === 1 && n !== elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4914 |
r.push( n ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4915 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4916 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4917 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4918 |
return r; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4919 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4920 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4921 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4922 |
// Implement the identical functionality for filter and not |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4923 |
function winnow( elements, qualifier, keep ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4924 |
if ( jQuery.isFunction( qualifier ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4925 |
return jQuery.grep(elements, function( elem, i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4926 |
var retVal = !!qualifier.call( elem, i, elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4927 |
return retVal === keep; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4928 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4929 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4930 |
} else if ( qualifier.nodeType ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4931 |
return jQuery.grep(elements, function( elem, i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4932 |
return (elem === qualifier) === keep; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4933 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4934 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4935 |
} else if ( typeof qualifier === "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4936 |
var filtered = jQuery.grep(elements, function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4937 |
return elem.nodeType === 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4938 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4939 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4940 |
if ( isSimple.test( qualifier ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4941 |
return jQuery.filter(qualifier, filtered, !keep); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4942 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4943 |
qualifier = jQuery.filter( qualifier, filtered ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4944 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4945 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4946 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4947 |
return jQuery.grep(elements, function( elem, i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4948 |
return (jQuery.inArray( elem, qualifier ) >= 0) === keep; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4949 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4950 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4951 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4952 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4953 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4954 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4955 |
var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4956 |
rleadingWhitespace = /^\s+/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4957 |
rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4958 |
rtagName = /<([\w:]+)/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4959 |
rtbody = /<tbody/i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4960 |
rhtml = /<|&#?\w+;/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4961 |
rnocache = /<(?:script|object|embed|option|style)/i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4962 |
// checked="checked" or checked (html5) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4963 |
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4964 |
wrapMap = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4965 |
option: [ 1, "<select multiple='multiple'>", "</select>" ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4966 |
legend: [ 1, "<fieldset>", "</fieldset>" ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4967 |
thead: [ 1, "<table>", "</table>" ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4968 |
tr: [ 2, "<table><tbody>", "</tbody></table>" ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4969 |
td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4970 |
col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4971 |
area: [ 1, "<map>", "</map>" ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4972 |
_default: [ 0, "", "" ] |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4973 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4974 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4975 |
wrapMap.optgroup = wrapMap.option; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4976 |
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4977 |
wrapMap.th = wrapMap.td; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4978 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4979 |
// IE can't serialize <link> and <script> tags normally |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4980 |
if ( !jQuery.support.htmlSerialize ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4981 |
wrapMap._default = [ 1, "div<div>", "</div>" ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4982 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4983 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4984 |
jQuery.fn.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4985 |
text: function( text ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4986 |
if ( jQuery.isFunction(text) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4987 |
return this.each(function(i) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4988 |
var self = jQuery( this ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4989 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4990 |
self.text( text.call(this, i, self.text()) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4991 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4992 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4993 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4994 |
if ( typeof text !== "object" && text !== undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4995 |
return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4996 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4997 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4998 |
return jQuery.text( this ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4999 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5000 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5001 |
wrapAll: function( html ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5002 |
if ( jQuery.isFunction( html ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5003 |
return this.each(function(i) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5004 |
jQuery(this).wrapAll( html.call(this, i) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5005 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5006 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5007 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5008 |
if ( this[0] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5009 |
// The elements to wrap the target around |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5010 |
var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5011 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5012 |
if ( this[0].parentNode ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5013 |
wrap.insertBefore( this[0] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5014 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5015 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5016 |
wrap.map(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5017 |
var elem = this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5018 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5019 |
while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5020 |
elem = elem.firstChild; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5021 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5022 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5023 |
return elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5024 |
}).append(this); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5025 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5026 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5027 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5028 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5029 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5030 |
wrapInner: function( html ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5031 |
if ( jQuery.isFunction( html ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5032 |
return this.each(function(i) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5033 |
jQuery(this).wrapInner( html.call(this, i) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5034 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5035 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5036 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5037 |
return this.each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5038 |
var self = jQuery( this ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5039 |
contents = self.contents(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5040 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5041 |
if ( contents.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5042 |
contents.wrapAll( html ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5043 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5044 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5045 |
self.append( html ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5046 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5047 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5048 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5049 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5050 |
wrap: function( html ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5051 |
return this.each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5052 |
jQuery( this ).wrapAll( html ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5053 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5054 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5055 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5056 |
unwrap: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5057 |
return this.parent().each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5058 |
if ( !jQuery.nodeName( this, "body" ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5059 |
jQuery( this ).replaceWith( this.childNodes ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5060 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5061 |
}).end(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5062 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5063 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5064 |
append: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5065 |
return this.domManip(arguments, true, function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5066 |
if ( this.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5067 |
this.appendChild( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5068 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5069 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5070 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5071 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5072 |
prepend: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5073 |
return this.domManip(arguments, true, function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5074 |
if ( this.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5075 |
this.insertBefore( elem, this.firstChild ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5076 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5077 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5078 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5079 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5080 |
before: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5081 |
if ( this[0] && this[0].parentNode ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5082 |
return this.domManip(arguments, false, function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5083 |
this.parentNode.insertBefore( elem, this ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5084 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5085 |
} else if ( arguments.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5086 |
var set = jQuery(arguments[0]); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5087 |
set.push.apply( set, this.toArray() ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5088 |
return this.pushStack( set, "before", arguments ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5089 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5090 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5091 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5092 |
after: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5093 |
if ( this[0] && this[0].parentNode ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5094 |
return this.domManip(arguments, false, function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5095 |
this.parentNode.insertBefore( elem, this.nextSibling ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5096 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5097 |
} else if ( arguments.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5098 |
var set = this.pushStack( this, "after", arguments ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5099 |
set.push.apply( set, jQuery(arguments[0]).toArray() ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5100 |
return set; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5101 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5102 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5103 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5104 |
// keepData is for internal use only--do not document |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5105 |
remove: function( selector, keepData ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5106 |
for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5107 |
if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5108 |
if ( !keepData && elem.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5109 |
jQuery.cleanData( elem.getElementsByTagName("*") );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5110 |
jQuery.cleanData( [ elem ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5111 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5112 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5113 |
if ( elem.parentNode ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5114 |
elem.parentNode.removeChild( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5115 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5116 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5117 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5118 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5119 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5120 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5121 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5122 |
empty: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5123 |
for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5124 |
// Remove element nodes and prevent memory leaks |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5125 |
if ( elem.nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5126 |
jQuery.cleanData( elem.getElementsByTagName("*") );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5127 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5128 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5129 |
// Remove any remaining nodes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5130 |
while ( elem.firstChild ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5131 |
elem.removeChild( elem.firstChild ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5132 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5133 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5134 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5135 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5136 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5137 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5138 |
clone: function( dataAndEvents, deepDataAndEvents ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5139 |
dataAndEvents = dataAndEvents == null ? true : dataAndEvents; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5140 |
deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5141 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5142 |
return this.map( function () {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5143 |
return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5144 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5145 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5146 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5147 |
html: function( value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5148 |
if ( value === undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5149 |
return this[0] && this[0].nodeType === 1 ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5150 |
this[0].innerHTML.replace(rinlinejQuery, "") : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5151 |
null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5152 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5153 |
// See if we can take a shortcut and just use innerHTML |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5154 |
} else if ( typeof value === "string" && !rnocache.test( value ) && |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5155 |
(jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) && |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5156 |
!wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5157 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5158 |
value = value.replace(rxhtmlTag, "<$1></$2>"); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5159 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5160 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5161 |
for ( var i = 0, l = this.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5162 |
// Remove element nodes and prevent memory leaks |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5163 |
if ( this[i].nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5164 |
jQuery.cleanData( this[i].getElementsByTagName("*") );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5165 |
this[i].innerHTML = value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5166 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5167 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5168 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5169 |
// If using innerHTML throws an exception, use the fallback method |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5170 |
} catch(e) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5171 |
this.empty().append( value ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5172 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5173 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5174 |
} else if ( jQuery.isFunction( value ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5175 |
this.each(function(i){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5176 |
var self = jQuery( this ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5177 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5178 |
self.html( value.call(this, i, self.html()) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5179 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5180 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5181 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5182 |
this.empty().append( value ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5183 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5184 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5185 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5186 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5187 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5188 |
replaceWith: function( value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5189 |
if ( this[0] && this[0].parentNode ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5190 |
// Make sure that the elements are removed from the DOM before they are inserted |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5191 |
// this can help fix replacing a parent with child elements |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5192 |
if ( jQuery.isFunction( value ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5193 |
return this.each(function(i) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5194 |
var self = jQuery(this), old = self.html(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5195 |
self.replaceWith( value.call( this, i, old ) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5196 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5197 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5198 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5199 |
if ( typeof value !== "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5200 |
value = jQuery( value ).detach(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5201 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5202 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5203 |
return this.each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5204 |
var next = this.nextSibling, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5205 |
parent = this.parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5206 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5207 |
jQuery( this ).remove(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5208 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5209 |
if ( next ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5210 |
jQuery(next).before( value ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5211 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5212 |
jQuery(parent).append( value ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5213 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5214 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5215 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5216 |
return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5217 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5218 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5219 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5220 |
detach: function( selector ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5221 |
return this.remove( selector, true ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5222 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5223 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5224 |
domManip: function( args, table, callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5225 |
var results, first, fragment, parent, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5226 |
value = args[0], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5227 |
scripts = []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5228 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5229 |
// We can't cloneNode fragments that contain checked, in WebKit |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5230 |
if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5231 |
return this.each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5232 |
jQuery(this).domManip( args, table, callback, true ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5233 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5234 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5235 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5236 |
if ( jQuery.isFunction(value) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5237 |
return this.each(function(i) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5238 |
var self = jQuery(this); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5239 |
args[0] = value.call(this, i, table ? self.html() : undefined); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5240 |
self.domManip( args, table, callback ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5241 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5242 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5243 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5244 |
if ( this[0] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5245 |
parent = value && value.parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5246 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5247 |
// If we're in a fragment, just use that instead of building a new one |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5248 |
if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5249 |
results = { fragment: parent };
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5250 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5251 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5252 |
results = jQuery.buildFragment( args, this, scripts ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5253 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5254 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5255 |
fragment = results.fragment; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5256 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5257 |
if ( fragment.childNodes.length === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5258 |
first = fragment = fragment.firstChild; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5259 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5260 |
first = fragment.firstChild; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5261 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5262 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5263 |
if ( first ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5264 |
table = table && jQuery.nodeName( first, "tr" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5265 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5266 |
for ( var i = 0, l = this.length, lastIndex = l - 1; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5267 |
callback.call( |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5268 |
table ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5269 |
root(this[i], first) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5270 |
this[i], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5271 |
// Make sure that we do not leak memory by inadvertently discarding |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5272 |
// the original fragment (which might have attached data) instead of |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5273 |
// using it; in addition, use the original fragment object for the last |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5274 |
// item instead of first because it can end up being emptied incorrectly |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5275 |
// in certain situations (Bug #8070). |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5276 |
// Fragments from the fragment cache must always be cloned and never used |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5277 |
// in place. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5278 |
results.cacheable || (l > 1 && i < lastIndex) ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5279 |
jQuery.clone( fragment, true, true ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5280 |
fragment |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5281 |
); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5282 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5283 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5284 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5285 |
if ( scripts.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5286 |
jQuery.each( scripts, evalScript ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5287 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5288 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5289 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5290 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5291 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5292 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5293 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5294 |
function root( elem, cur ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5295 |
return jQuery.nodeName(elem, "table") ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5296 |
(elem.getElementsByTagName("tbody")[0] ||
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5297 |
elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5298 |
elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5299 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5300 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5301 |
function cloneCopyEvent( src, dest ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5302 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5303 |
if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5304 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5305 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5306 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5307 |
var internalKey = jQuery.expando, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5308 |
oldData = jQuery.data( src ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5309 |
curData = jQuery.data( dest, oldData ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5310 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5311 |
// Switch to use the internal data object, if it exists, for the next |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5312 |
// stage of data copying |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5313 |
if ( (oldData = oldData[ internalKey ]) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5314 |
var events = oldData.events; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5315 |
curData = curData[ internalKey ] = jQuery.extend({}, oldData);
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5316 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5317 |
if ( events ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5318 |
delete curData.handle; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5319 |
curData.events = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5320 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5321 |
for ( var type in events ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5322 |
for ( var i = 0, l = events[ type ].length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5323 |
jQuery.event.add( dest, type, events[ type ][ i ], events[ type ][ i ].data ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5324 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5325 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5326 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5327 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5328 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5329 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5330 |
function cloneFixAttributes(src, dest) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5331 |
// We do not need to do anything for non-Elements |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5332 |
if ( dest.nodeType !== 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5333 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5334 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5335 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5336 |
var nodeName = dest.nodeName.toLowerCase(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5337 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5338 |
// clearAttributes removes the attributes, which we don't want, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5339 |
// but also removes the attachEvent events, which we *do* want |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5340 |
dest.clearAttributes(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5341 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5342 |
// mergeAttributes, in contrast, only merges back on the |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5343 |
// original attributes, not the events |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5344 |
dest.mergeAttributes(src); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5345 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5346 |
// IE6-8 fail to clone children inside object elements that use |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5347 |
// the proprietary classid attribute value (rather than the type |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5348 |
// attribute) to identify the type of content to display |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5349 |
if ( nodeName === "object" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5350 |
dest.outerHTML = src.outerHTML; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5351 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5352 |
} else if ( nodeName === "input" && (src.type === "checkbox" || src.type === "radio") ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5353 |
// IE6-8 fails to persist the checked state of a cloned checkbox |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5354 |
// or radio button. Worse, IE6-7 fail to give the cloned element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5355 |
// a checked appearance if the defaultChecked value isn't also set |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5356 |
if ( src.checked ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5357 |
dest.defaultChecked = dest.checked = src.checked; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5358 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5359 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5360 |
// IE6-7 get confused and end up setting the value of a cloned |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5361 |
// checkbox/radio button to an empty string instead of "on" |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5362 |
if ( dest.value !== src.value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5363 |
dest.value = src.value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5364 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5365 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5366 |
// IE6-8 fails to return the selected option to the default selected |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5367 |
// state when cloning options |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5368 |
} else if ( nodeName === "option" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5369 |
dest.selected = src.defaultSelected; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5370 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5371 |
// IE6-8 fails to set the defaultValue to the correct value when |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5372 |
// cloning other types of input fields |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5373 |
} else if ( nodeName === "input" || nodeName === "textarea" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5374 |
dest.defaultValue = src.defaultValue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5375 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5376 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5377 |
// Event data gets referenced instead of copied if the expando |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5378 |
// gets copied too |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5379 |
dest.removeAttribute( jQuery.expando ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5380 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5381 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5382 |
jQuery.buildFragment = function( args, nodes, scripts ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5383 |
var fragment, cacheable, cacheresults, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5384 |
doc = (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : document); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5385 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5386 |
// Only cache "small" (1/2 KB) HTML strings that are associated with the main document |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5387 |
// Cloning options loses the selected state, so don't cache them |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5388 |
// IE 6 doesn't like it when you put <object> or <embed> elements in a fragment |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5389 |
// Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5390 |
if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && doc === document && |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5391 |
args[0].charAt(0) === "<" && !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5392 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5393 |
cacheable = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5394 |
cacheresults = jQuery.fragments[ args[0] ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5395 |
if ( cacheresults ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5396 |
if ( cacheresults !== 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5397 |
fragment = cacheresults; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5398 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5399 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5400 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5401 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5402 |
if ( !fragment ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5403 |
fragment = doc.createDocumentFragment(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5404 |
jQuery.clean( args, doc, fragment, scripts ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5405 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5406 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5407 |
if ( cacheable ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5408 |
jQuery.fragments[ args[0] ] = cacheresults ? fragment : 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5409 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5410 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5411 |
return { fragment: fragment, cacheable: cacheable };
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5412 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5413 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5414 |
jQuery.fragments = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5415 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5416 |
jQuery.each({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5417 |
appendTo: "append", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5418 |
prependTo: "prepend", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5419 |
insertBefore: "before", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5420 |
insertAfter: "after", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5421 |
replaceAll: "replaceWith" |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5422 |
}, function( name, original ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5423 |
jQuery.fn[ name ] = function( selector ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5424 |
var ret = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5425 |
insert = jQuery( selector ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5426 |
parent = this.length === 1 && this[0].parentNode; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5427 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5428 |
if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5429 |
insert[ original ]( this[0] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5430 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5431 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5432 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5433 |
for ( var i = 0, l = insert.length; i < l; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5434 |
var elems = (i > 0 ? this.clone(true) : this).get(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5435 |
jQuery( insert[i] )[ original ]( elems ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5436 |
ret = ret.concat( elems ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5437 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5438 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5439 |
return this.pushStack( ret, name, insert.selector ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5440 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5441 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5442 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5443 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5444 |
jQuery.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5445 |
clone: function( elem, dataAndEvents, deepDataAndEvents ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5446 |
var clone = elem.cloneNode(true), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5447 |
srcElements, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5448 |
destElements, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5449 |
i; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5450 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5451 |
if ( !jQuery.support.noCloneEvent && (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5452 |
// IE copies events bound via attachEvent when using cloneNode. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5453 |
// Calling detachEvent on the clone will also remove the events |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5454 |
// from the original. In order to get around this, we use some |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5455 |
// proprietary methods to clear the events. Thanks to MooTools |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5456 |
// guys for this hotness. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5457 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5458 |
// Using Sizzle here is crazy slow, so we use getElementsByTagName |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5459 |
// instead |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5460 |
srcElements = elem.getElementsByTagName("*");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5461 |
destElements = clone.getElementsByTagName("*");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5462 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5463 |
// Weird iteration because IE will replace the length property |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5464 |
// with an element if you are cloning the body and one of the |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5465 |
// elements on the page has a name or id of "length" |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5466 |
for ( i = 0; srcElements[i]; ++i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5467 |
cloneFixAttributes( srcElements[i], destElements[i] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5468 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5469 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5470 |
cloneFixAttributes( elem, clone ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5471 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5472 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5473 |
// Copy the events from the original to the clone |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5474 |
if ( dataAndEvents ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5475 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5476 |
cloneCopyEvent( elem, clone ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5477 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5478 |
if ( deepDataAndEvents && "getElementsByTagName" in elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5479 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5480 |
srcElements = elem.getElementsByTagName("*");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5481 |
destElements = clone.getElementsByTagName("*");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5482 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5483 |
if ( srcElements.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5484 |
for ( i = 0; srcElements[i]; ++i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5485 |
cloneCopyEvent( srcElements[i], destElements[i] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5486 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5487 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5488 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5489 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5490 |
// Return the cloned set |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5491 |
return clone; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5492 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5493 |
clean: function( elems, context, fragment, scripts ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5494 |
context = context || document; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5495 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5496 |
// !context.createElement fails in IE with an error but returns typeof 'object' |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5497 |
if ( typeof context.createElement === "undefined" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5498 |
context = context.ownerDocument || context[0] && context[0].ownerDocument || document; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5499 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5500 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5501 |
var ret = []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5502 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5503 |
for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5504 |
if ( typeof elem === "number" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5505 |
elem += ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5506 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5507 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5508 |
if ( !elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5509 |
continue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5510 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5511 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5512 |
// Convert html string into DOM nodes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5513 |
if ( typeof elem === "string" && !rhtml.test( elem ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5514 |
elem = context.createTextNode( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5515 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5516 |
} else if ( typeof elem === "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5517 |
// Fix "XHTML"-style tags in all browsers |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5518 |
elem = elem.replace(rxhtmlTag, "<$1></$2>"); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5519 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5520 |
// Trim whitespace, otherwise indexOf won't work as expected |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5521 |
var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5522 |
wrap = wrapMap[ tag ] || wrapMap._default, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5523 |
depth = wrap[0], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5524 |
div = context.createElement("div");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5525 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5526 |
// Go to html and back, then peel off extra wrappers |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5527 |
div.innerHTML = wrap[1] + elem + wrap[2]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5528 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5529 |
// Move to the right depth |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5530 |
while ( depth-- ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5531 |
div = div.lastChild; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5532 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5533 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5534 |
// Remove IE's autoinserted <tbody> from table fragments |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5535 |
if ( !jQuery.support.tbody ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5536 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5537 |
// String was a <table>, *may* have spurious <tbody> |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5538 |
var hasBody = rtbody.test(elem), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5539 |
tbody = tag === "table" && !hasBody ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5540 |
div.firstChild && div.firstChild.childNodes : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5541 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5542 |
// String was a bare <thead> or <tfoot> |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5543 |
wrap[1] === "<table>" && !hasBody ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5544 |
div.childNodes : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5545 |
[]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5546 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5547 |
for ( var j = tbody.length - 1; j >= 0 ; --j ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5548 |
if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5549 |
tbody[ j ].parentNode.removeChild( tbody[ j ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5550 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5551 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5552 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5553 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5554 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5555 |
// IE completely kills leading whitespace when innerHTML is used |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5556 |
if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5557 |
div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5558 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5559 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5560 |
elem = div.childNodes; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5561 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5562 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5563 |
if ( elem.nodeType ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5564 |
ret.push( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5565 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5566 |
ret = jQuery.merge( ret, elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5567 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5568 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5569 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5570 |
if ( fragment ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5571 |
for ( i = 0; ret[i]; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5572 |
if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5573 |
scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5574 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5575 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5576 |
if ( ret[i].nodeType === 1 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5577 |
ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5578 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5579 |
fragment.appendChild( ret[i] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5580 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5581 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5582 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5583 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5584 |
return ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5585 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5586 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5587 |
cleanData: function( elems ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5588 |
var data, id, cache = jQuery.cache, internalKey = jQuery.expando, special = jQuery.event.special, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5589 |
deleteExpando = jQuery.support.deleteExpando; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5590 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5591 |
for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5592 |
if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5593 |
continue; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5594 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5595 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5596 |
id = elem[ jQuery.expando ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5597 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5598 |
if ( id ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5599 |
data = cache[ id ] && cache[ id ][ internalKey ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5600 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5601 |
if ( data && data.events ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5602 |
for ( var type in data.events ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5603 |
if ( special[ type ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5604 |
jQuery.event.remove( elem, type ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5605 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5606 |
// This is a shortcut to avoid jQuery.event.remove's overhead |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5607 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5608 |
jQuery.removeEvent( elem, type, data.handle ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5609 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5610 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5611 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5612 |
// Null the DOM reference to avoid IE6/7/8 leak (#7054) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5613 |
if ( data.handle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5614 |
data.handle.elem = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5615 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5616 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5617 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5618 |
if ( deleteExpando ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5619 |
delete elem[ jQuery.expando ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5620 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5621 |
} else if ( elem.removeAttribute ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5622 |
elem.removeAttribute( jQuery.expando ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5623 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5624 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5625 |
delete cache[ id ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5626 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5627 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5628 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5629 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5630 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5631 |
function evalScript( i, elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5632 |
if ( elem.src ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5633 |
jQuery.ajax({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5634 |
url: elem.src, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5635 |
async: false, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5636 |
dataType: "script" |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5637 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5638 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5639 |
jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5640 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5641 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5642 |
if ( elem.parentNode ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5643 |
elem.parentNode.removeChild( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5644 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5645 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5646 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5647 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5648 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5649 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5650 |
var ralpha = /alpha\([^)]*\)/i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5651 |
ropacity = /opacity=([^)]*)/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5652 |
rdashAlpha = /-([a-z])/ig, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5653 |
rupper = /([A-Z])/g, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5654 |
rnumpx = /^-?\d+(?:px)?$/i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5655 |
rnum = /^-?\d/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5656 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5657 |
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5658 |
cssWidth = [ "Left", "Right" ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5659 |
cssHeight = [ "Top", "Bottom" ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5660 |
curCSS, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5661 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5662 |
getComputedStyle, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5663 |
currentStyle, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5664 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5665 |
fcamelCase = function( all, letter ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5666 |
return letter.toUpperCase(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5667 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5668 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5669 |
jQuery.fn.css = function( name, value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5670 |
// Setting 'undefined' is a no-op |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5671 |
if ( arguments.length === 2 && value === undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5672 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5673 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5674 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5675 |
return jQuery.access( this, name, value, true, function( elem, name, value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5676 |
return value !== undefined ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5677 |
jQuery.style( elem, name, value ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5678 |
jQuery.css( elem, name ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5679 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5680 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5681 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5682 |
jQuery.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5683 |
// Add in style property hooks for overriding the default |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5684 |
// behavior of getting and setting a style property |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5685 |
cssHooks: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5686 |
opacity: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5687 |
get: function( elem, computed ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5688 |
if ( computed ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5689 |
// We should always get a number back from opacity |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5690 |
var ret = curCSS( elem, "opacity", "opacity" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5691 |
return ret === "" ? "1" : ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5692 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5693 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5694 |
return elem.style.opacity; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5695 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5696 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5697 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5698 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5699 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5700 |
// Exclude the following css properties to add px |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5701 |
cssNumber: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5702 |
"zIndex": true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5703 |
"fontWeight": true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5704 |
"opacity": true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5705 |
"zoom": true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5706 |
"lineHeight": true |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5707 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5708 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5709 |
// Add in properties whose names you wish to fix before |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5710 |
// setting or getting the value |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5711 |
cssProps: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5712 |
// normalize float css property |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5713 |
"float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5714 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5715 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5716 |
// Get and set the style property on a DOM Node |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5717 |
style: function( elem, name, value, extra ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5718 |
// Don't set styles on text and comment nodes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5719 |
if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5720 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5721 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5722 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5723 |
// Make sure that we're working with the right name |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5724 |
var ret, origName = jQuery.camelCase( name ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5725 |
style = elem.style, hooks = jQuery.cssHooks[ origName ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5726 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5727 |
name = jQuery.cssProps[ origName ] || origName; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5728 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5729 |
// Check if we're setting a value |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5730 |
if ( value !== undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5731 |
// Make sure that NaN and null values aren't set. See: #7116 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5732 |
if ( typeof value === "number" && isNaN( value ) || value == null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5733 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5734 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5735 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5736 |
// If a number was passed in, add 'px' to the (except for certain CSS properties) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5737 |
if ( typeof value === "number" && !jQuery.cssNumber[ origName ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5738 |
value += "px"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5739 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5740 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5741 |
// If a hook was provided, use that value, otherwise just set the specified value |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5742 |
if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5743 |
// Wrapped to prevent IE from throwing errors when 'invalid' values are provided |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5744 |
// Fixes bug #5509 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5745 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5746 |
style[ name ] = value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5747 |
} catch(e) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5748 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5749 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5750 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5751 |
// If a hook was provided get the non-computed value from there |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5752 |
if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5753 |
return ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5754 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5755 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5756 |
// Otherwise just get the value from the style object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5757 |
return style[ name ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5758 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5759 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5760 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5761 |
css: function( elem, name, extra ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5762 |
// Make sure that we're working with the right name |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5763 |
var ret, origName = jQuery.camelCase( name ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5764 |
hooks = jQuery.cssHooks[ origName ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5765 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5766 |
name = jQuery.cssProps[ origName ] || origName; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5767 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5768 |
// If a hook was provided get the computed value from there |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5769 |
if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5770 |
return ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5771 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5772 |
// Otherwise, if a way to get the computed value exists, use that |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5773 |
} else if ( curCSS ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5774 |
return curCSS( elem, name, origName ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5775 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5776 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5777 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5778 |
// A method for quickly swapping in/out CSS properties to get correct calculations |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5779 |
swap: function( elem, options, callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5780 |
var old = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5781 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5782 |
// Remember the old values, and insert the new ones |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5783 |
for ( var name in options ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5784 |
old[ name ] = elem.style[ name ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5785 |
elem.style[ name ] = options[ name ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5786 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5787 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5788 |
callback.call( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5789 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5790 |
// Revert the old values |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5791 |
for ( name in options ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5792 |
elem.style[ name ] = old[ name ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5793 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5794 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5795 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5796 |
camelCase: function( string ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5797 |
return string.replace( rdashAlpha, fcamelCase ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5798 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5799 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5800 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5801 |
// DEPRECATED, Use jQuery.css() instead |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5802 |
jQuery.curCSS = jQuery.css; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5803 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5804 |
jQuery.each(["height", "width"], function( i, name ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5805 |
jQuery.cssHooks[ name ] = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5806 |
get: function( elem, computed, extra ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5807 |
var val; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5808 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5809 |
if ( computed ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5810 |
if ( elem.offsetWidth !== 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5811 |
val = getWH( elem, name, extra ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5812 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5813 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5814 |
jQuery.swap( elem, cssShow, function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5815 |
val = getWH( elem, name, extra ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5816 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5817 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5818 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5819 |
if ( val <= 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5820 |
val = curCSS( elem, name, name ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5821 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5822 |
if ( val === "0px" && currentStyle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5823 |
val = currentStyle( elem, name, name ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5824 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5825 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5826 |
if ( val != null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5827 |
// Should return "auto" instead of 0, use 0 for |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5828 |
// temporary backwards-compat |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5829 |
return val === "" || val === "auto" ? "0px" : val; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5830 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5831 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5832 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5833 |
if ( val < 0 || val == null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5834 |
val = elem.style[ name ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5835 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5836 |
// Should return "auto" instead of 0, use 0 for |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5837 |
// temporary backwards-compat |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5838 |
return val === "" || val === "auto" ? "0px" : val; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5839 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5840 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5841 |
return typeof val === "string" ? val : val + "px"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5842 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5843 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5844 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5845 |
set: function( elem, value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5846 |
if ( rnumpx.test( value ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5847 |
// ignore negative width and height values #1599 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5848 |
value = parseFloat(value); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5849 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5850 |
if ( value >= 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5851 |
return value + "px"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5852 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5853 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5854 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5855 |
return value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5856 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5857 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5858 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5859 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5860 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5861 |
if ( !jQuery.support.opacity ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5862 |
jQuery.cssHooks.opacity = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5863 |
get: function( elem, computed ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5864 |
// IE uses filters for opacity |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5865 |
return ropacity.test((computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "") ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5866 |
(parseFloat(RegExp.$1) / 100) + "" : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5867 |
computed ? "1" : ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5868 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5869 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5870 |
set: function( elem, value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5871 |
var style = elem.style; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5872 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5873 |
// IE has trouble with opacity if it does not have layout |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5874 |
// Force it by setting the zoom level |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5875 |
style.zoom = 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5876 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5877 |
// Set the alpha filter to set the opacity |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5878 |
var opacity = jQuery.isNaN(value) ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5879 |
"" : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5880 |
"alpha(opacity=" + value * 100 + ")", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5881 |
filter = style.filter || ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5882 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5883 |
style.filter = ralpha.test(filter) ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5884 |
filter.replace(ralpha, opacity) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5885 |
style.filter + ' ' + opacity; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5886 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5887 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5888 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5889 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5890 |
if ( document.defaultView && document.defaultView.getComputedStyle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5891 |
getComputedStyle = function( elem, newName, name ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5892 |
var ret, defaultView, computedStyle; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5893 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5894 |
name = name.replace( rupper, "-$1" ).toLowerCase(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5895 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5896 |
if ( !(defaultView = elem.ownerDocument.defaultView) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5897 |
return undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5898 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5899 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5900 |
if ( (computedStyle = defaultView.getComputedStyle( elem, null )) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5901 |
ret = computedStyle.getPropertyValue( name ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5902 |
if ( ret === "" && !jQuery.contains( elem.ownerDocument.documentElement, elem ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5903 |
ret = jQuery.style( elem, name ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5904 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5905 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5906 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5907 |
return ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5908 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5909 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5910 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5911 |
if ( document.documentElement.currentStyle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5912 |
currentStyle = function( elem, name ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5913 |
var left, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5914 |
ret = elem.currentStyle && elem.currentStyle[ name ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5915 |
rsLeft = elem.runtimeStyle && elem.runtimeStyle[ name ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5916 |
style = elem.style; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5917 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5918 |
// From the awesome hack by Dean Edwards |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5919 |
// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5920 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5921 |
// If we're not dealing with a regular pixel number |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5922 |
// but a number that has a weird ending, we need to convert it to pixels |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5923 |
if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5924 |
// Remember the original values |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5925 |
left = style.left; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5926 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5927 |
// Put in the new values to get a computed value out |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5928 |
if ( rsLeft ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5929 |
elem.runtimeStyle.left = elem.currentStyle.left; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5930 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5931 |
style.left = name === "fontSize" ? "1em" : (ret || 0); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5932 |
ret = style.pixelLeft + "px"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5933 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5934 |
// Revert the changed values |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5935 |
style.left = left; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5936 |
if ( rsLeft ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5937 |
elem.runtimeStyle.left = rsLeft; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5938 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5939 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5940 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5941 |
return ret === "" ? "auto" : ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5942 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5943 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5944 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5945 |
curCSS = getComputedStyle || currentStyle; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5946 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5947 |
function getWH( elem, name, extra ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5948 |
var which = name === "width" ? cssWidth : cssHeight, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5949 |
val = name === "width" ? elem.offsetWidth : elem.offsetHeight; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5950 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5951 |
if ( extra === "border" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5952 |
return val; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5953 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5954 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5955 |
jQuery.each( which, function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5956 |
if ( !extra ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5957 |
val -= parseFloat(jQuery.css( elem, "padding" + this )) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5958 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5959 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5960 |
if ( extra === "margin" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5961 |
val += parseFloat(jQuery.css( elem, "margin" + this )) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5962 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5963 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5964 |
val -= parseFloat(jQuery.css( elem, "border" + this + "Width" )) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5965 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5966 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5967 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5968 |
return val; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5969 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5970 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5971 |
if ( jQuery.expr && jQuery.expr.filters ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5972 |
jQuery.expr.filters.hidden = function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5973 |
var width = elem.offsetWidth, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5974 |
height = elem.offsetHeight; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5975 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5976 |
return (width === 0 && height === 0) || (!jQuery.support.reliableHiddenOffsets && (elem.style.display || jQuery.css( elem, "display" )) === "none"); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5977 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5978 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5979 |
jQuery.expr.filters.visible = function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5980 |
return !jQuery.expr.filters.hidden( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5981 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5982 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5983 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5984 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5985 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5986 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5987 |
var r20 = /%20/g, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5988 |
rbracket = /\[\]$/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5989 |
rCRLF = /\r?\n/g, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5990 |
rhash = /#.*$/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5991 |
rheaders = /^(.*?):\s*(.*?)\r?$/mg, // IE leaves an \r character at EOL |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5992 |
rinput = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5993 |
rnoContent = /^(?:GET|HEAD)$/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5994 |
rprotocol = /^\/\//, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5995 |
rquery = /\?/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5996 |
rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5997 |
rselectTextarea = /^(?:select|textarea)/i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5998 |
rspacesAjax = /\s+/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5999 |
rts = /([?&])_=[^&]*/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6000 |
rurl = /^(\w+:)\/\/([^\/?#:]+)(?::(\d+))?/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6001 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6002 |
// Keep a copy of the old load method |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6003 |
_load = jQuery.fn.load, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6004 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6005 |
/* Prefilters |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6006 |
* 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6007 |
* 2) These are called: |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6008 |
* - BEFORE asking for a transport |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6009 |
* - AFTER param serialization (s.data is a string if s.processData is true) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6010 |
* 3) key is the dataType |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6011 |
* 4) the catchall symbol "*" can be used |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6012 |
* 5) execution will start with transport dataType and THEN continue down to "*" if needed |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6013 |
*/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6014 |
prefilters = {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6015 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6016 |
/* Transports bindings |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6017 |
* 1) key is the dataType |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6018 |
* 2) the catchall symbol "*" can be used |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6019 |
* 3) selection will start with transport dataType and THEN go to "*" if needed |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6020 |
*/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6021 |
transports = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6022 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6023 |
// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6024 |
function addToPrefiltersOrTransports( structure ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6025 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6026 |
// dataTypeExpression is optional and defaults to "*" |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6027 |
return function( dataTypeExpression, func ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6028 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6029 |
if ( typeof dataTypeExpression !== "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6030 |
func = dataTypeExpression; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6031 |
dataTypeExpression = "*"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6032 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6033 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6034 |
if ( jQuery.isFunction( func ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6035 |
var dataTypes = dataTypeExpression.toLowerCase().split( rspacesAjax ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6036 |
i = 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6037 |
length = dataTypes.length, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6038 |
dataType, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6039 |
list, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6040 |
placeBefore; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6041 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6042 |
// For each dataType in the dataTypeExpression |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6043 |
for(; i < length; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6044 |
dataType = dataTypes[ i ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6045 |
// We control if we're asked to add before |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6046 |
// any existing element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6047 |
placeBefore = /^\+/.test( dataType ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6048 |
if ( placeBefore ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6049 |
dataType = dataType.substr( 1 ) || "*"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6050 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6051 |
list = structure[ dataType ] = structure[ dataType ] || []; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6052 |
// then we add to the structure accordingly |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6053 |
list[ placeBefore ? "unshift" : "push" ]( func ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6054 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6055 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6056 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6057 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6058 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6059 |
//Base inspection function for prefilters and transports |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6060 |
function inspectPrefiltersOrTransports( structure, options, originalOptions, jXHR, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6061 |
dataType /* internal */, inspected /* internal */ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6062 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6063 |
dataType = dataType || options.dataTypes[ 0 ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6064 |
inspected = inspected || {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6065 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6066 |
inspected[ dataType ] = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6067 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6068 |
var list = structure[ dataType ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6069 |
i = 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6070 |
length = list ? list.length : 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6071 |
executeOnly = ( structure === prefilters ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6072 |
selection; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6073 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6074 |
for(; i < length && ( executeOnly || !selection ); i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6075 |
selection = list[ i ]( options, originalOptions, jXHR ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6076 |
// If we got redirected to another dataType |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6077 |
// we try there if not done already |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6078 |
if ( typeof selection === "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6079 |
if ( inspected[ selection ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6080 |
selection = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6081 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6082 |
options.dataTypes.unshift( selection ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6083 |
selection = inspectPrefiltersOrTransports( |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6084 |
structure, options, originalOptions, jXHR, selection, inspected ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6085 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6086 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6087 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6088 |
// If we're only executing or nothing was selected |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6089 |
// we try the catchall dataType if not done already |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6090 |
if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6091 |
selection = inspectPrefiltersOrTransports( |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6092 |
structure, options, originalOptions, jXHR, "*", inspected ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6093 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6094 |
// unnecessary when only executing (prefilters) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6095 |
// but it'll be ignored by the caller in that case |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6096 |
return selection; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6097 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6098 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6099 |
jQuery.fn.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6100 |
load: function( url, params, callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6101 |
if ( typeof url !== "string" && _load ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6102 |
return _load.apply( this, arguments ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6103 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6104 |
// Don't do a request if no elements are being requested |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6105 |
} else if ( !this.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6106 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6107 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6108 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6109 |
var off = url.indexOf( " " ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6110 |
if ( off >= 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6111 |
var selector = url.slice( off, url.length ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6112 |
url = url.slice( 0, off ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6113 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6114 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6115 |
// Default to a GET request |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6116 |
var type = "GET"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6117 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6118 |
// If the second parameter was provided |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6119 |
if ( params ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6120 |
// If it's a function |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6121 |
if ( jQuery.isFunction( params ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6122 |
// We assume that it's the callback |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6123 |
callback = params; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6124 |
params = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6125 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6126 |
// Otherwise, build a param string |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6127 |
} else if ( typeof params === "object" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6128 |
params = jQuery.param( params, jQuery.ajaxSettings.traditional ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6129 |
type = "POST"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6130 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6131 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6132 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6133 |
var self = this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6134 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6135 |
// Request the remote document |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6136 |
jQuery.ajax({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6137 |
url: url, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6138 |
type: type, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6139 |
dataType: "html", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6140 |
data: params, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6141 |
// Complete callback (responseText is used internally) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6142 |
complete: function( jXHR, status, responseText ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6143 |
// Store the response as specified by the jXHR object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6144 |
responseText = jXHR.responseText; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6145 |
// If successful, inject the HTML into all the matched elements |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6146 |
if ( jXHR.isResolved() ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6147 |
// #4825: Get the actual response in case |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6148 |
// a dataFilter is present in ajaxSettings |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6149 |
jXHR.done(function( r ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6150 |
responseText = r; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6151 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6152 |
// See if a selector was specified |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6153 |
self.html( selector ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6154 |
// Create a dummy div to hold the results |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6155 |
jQuery("<div>")
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6156 |
// inject the contents of the document in, removing the scripts |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6157 |
// to avoid any 'Permission Denied' errors in IE |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6158 |
.append(responseText.replace(rscript, "")) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6159 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6160 |
// Locate the specified elements |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6161 |
.find(selector) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6162 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6163 |
// If not, just inject the full result |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6164 |
responseText ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6165 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6166 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6167 |
if ( callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6168 |
self.each( callback, [ responseText, status, jXHR ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6169 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6170 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6171 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6172 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6173 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6174 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6175 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6176 |
serialize: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6177 |
return jQuery.param( this.serializeArray() ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6178 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6179 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6180 |
serializeArray: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6181 |
return this.map(function(){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6182 |
return this.elements ? jQuery.makeArray( this.elements ) : this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6183 |
}) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6184 |
.filter(function(){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6185 |
return this.name && !this.disabled && |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6186 |
( this.checked || rselectTextarea.test( this.nodeName ) || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6187 |
rinput.test( this.type ) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6188 |
}) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6189 |
.map(function( i, elem ){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6190 |
var val = jQuery( this ).val(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6191 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6192 |
return val == null ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6193 |
null : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6194 |
jQuery.isArray( val ) ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6195 |
jQuery.map( val, function( val, i ){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6196 |
return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6197 |
}) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6198 |
{ name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6199 |
}).get(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6200 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6201 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6202 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6203 |
// Attach a bunch of functions for handling common AJAX events |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6204 |
jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ), function( i, o ){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6205 |
jQuery.fn[ o ] = function( f ){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6206 |
return this.bind( o, f ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6207 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6208 |
} ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6209 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6210 |
jQuery.each( [ "get", "post" ], function( i, method ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6211 |
jQuery[ method ] = function( url, data, callback, type ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6212 |
// shift arguments if data argument was omitted |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6213 |
if ( jQuery.isFunction( data ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6214 |
type = type || callback; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6215 |
callback = data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6216 |
data = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6217 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6218 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6219 |
return jQuery.ajax({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6220 |
type: method, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6221 |
url: url, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6222 |
data: data, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6223 |
success: callback, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6224 |
dataType: type |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6225 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6226 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6227 |
} ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6228 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6229 |
jQuery.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6230 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6231 |
getScript: function( url, callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6232 |
return jQuery.get( url, null, callback, "script" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6233 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6234 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6235 |
getJSON: function( url, data, callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6236 |
return jQuery.get( url, data, callback, "json" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6237 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6238 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6239 |
ajaxSetup: function( settings ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6240 |
jQuery.extend( true, jQuery.ajaxSettings, settings ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6241 |
if ( settings.context ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6242 |
jQuery.ajaxSettings.context = settings.context; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6243 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6244 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6245 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6246 |
ajaxSettings: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6247 |
url: location.href, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6248 |
global: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6249 |
type: "GET", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6250 |
contentType: "application/x-www-form-urlencoded", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6251 |
processData: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6252 |
async: true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6253 |
/* |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6254 |
timeout: 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6255 |
data: null, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6256 |
dataType: null, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6257 |
username: null, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6258 |
password: null, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6259 |
cache: null, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6260 |
traditional: false, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6261 |
headers: {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6262 |
crossDomain: null, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6263 |
*/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6264 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6265 |
accepts: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6266 |
xml: "application/xml, text/xml", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6267 |
html: "text/html", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6268 |
text: "text/plain", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6269 |
json: "application/json, text/javascript", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6270 |
"*": "*/*" |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6271 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6272 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6273 |
contents: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6274 |
xml: /xml/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6275 |
html: /html/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6276 |
json: /json/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6277 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6278 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6279 |
responseFields: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6280 |
xml: "responseXML", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6281 |
text: "responseText" |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6282 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6283 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6284 |
// List of data converters |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6285 |
// 1) key format is "source_type destination_type" (a single space in-between) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6286 |
// 2) the catchall symbol "*" can be used for source_type |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6287 |
converters: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6288 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6289 |
// Convert anything to text |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6290 |
"* text": window.String, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6291 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6292 |
// Text to html (true = no transformation) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6293 |
"text html": true, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6294 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6295 |
// Evaluate text as a json expression |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6296 |
"text json": jQuery.parseJSON, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6297 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6298 |
// Parse text as xml |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6299 |
"text xml": jQuery.parseXML |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6300 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6301 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6302 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6303 |
ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6304 |
ajaxTransport: addToPrefiltersOrTransports( transports ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6305 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6306 |
// Main method |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6307 |
ajax: function( url, options ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6308 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6309 |
// If options is not an object, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6310 |
// we simulate pre-1.5 signature |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6311 |
if ( typeof options !== "object" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6312 |
options = url; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6313 |
url = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6314 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6315 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6316 |
// Force options to be an object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6317 |
options = options || {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6318 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6319 |
var // Create the final options object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6320 |
s = jQuery.extend( true, {}, jQuery.ajaxSettings, options ),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6321 |
// Callbacks contexts |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6322 |
// We force the original context if it exists |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6323 |
// or take it from jQuery.ajaxSettings otherwise |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6324 |
// (plain objects used as context get extended) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6325 |
callbackContext = |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6326 |
( s.context = ( "context" in options ? options : jQuery.ajaxSettings ).context ) || s, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6327 |
globalEventContext = callbackContext === s ? jQuery.event : jQuery( callbackContext ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6328 |
// Deferreds |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6329 |
deferred = jQuery.Deferred(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6330 |
completeDeferred = jQuery._Deferred(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6331 |
// Status-dependent callbacks |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6332 |
statusCode = s.statusCode || {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6333 |
// Headers (they are sent all at once) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6334 |
requestHeaders = {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6335 |
// Response headers |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6336 |
responseHeadersString, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6337 |
responseHeaders, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6338 |
// transport |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6339 |
transport, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6340 |
// timeout handle |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6341 |
timeoutTimer, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6342 |
// Cross-domain detection vars |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6343 |
loc = document.location, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6344 |
protocol = loc.protocol || "http:", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6345 |
parts, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6346 |
// The jXHR state |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6347 |
state = 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6348 |
// Loop variable |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6349 |
i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6350 |
// Fake xhr |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6351 |
jXHR = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6352 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6353 |
readyState: 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6354 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6355 |
// Caches the header |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6356 |
setRequestHeader: function( name, value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6357 |
if ( state === 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6358 |
requestHeaders[ name.toLowerCase() ] = value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6359 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6360 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6361 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6362 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6363 |
// Raw string |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6364 |
getAllResponseHeaders: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6365 |
return state === 2 ? responseHeadersString : null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6366 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6367 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6368 |
// Builds headers hashtable if needed |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6369 |
getResponseHeader: function( key ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6370 |
var match; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6371 |
if ( state === 2 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6372 |
if ( !responseHeaders ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6373 |
responseHeaders = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6374 |
while( ( match = rheaders.exec( responseHeadersString ) ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6375 |
responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6376 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6377 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6378 |
match = responseHeaders[ key.toLowerCase() ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6379 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6380 |
return match || null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6381 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6382 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6383 |
// Cancel the request |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6384 |
abort: function( statusText ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6385 |
statusText = statusText || "abort"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6386 |
if ( transport ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6387 |
transport.abort( statusText ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6388 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6389 |
done( 0, statusText ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6390 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6391 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6392 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6393 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6394 |
// Callback for when everything is done |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6395 |
// It is defined here because jslint complains if it is declared |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6396 |
// at the end of the function (which would be more logical and readable) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6397 |
function done( status, statusText, responses, headers) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6398 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6399 |
// Called once |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6400 |
if ( state === 2 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6401 |
return; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6402 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6403 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6404 |
// State is "done" now |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6405 |
state = 2; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6406 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6407 |
// Clear timeout if it exists |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6408 |
if ( timeoutTimer ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6409 |
clearTimeout( timeoutTimer ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6410 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6411 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6412 |
// Dereference transport for early garbage collection |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6413 |
// (no matter how long the jXHR object will be used) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6414 |
transport = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6415 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6416 |
// Cache response headers |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6417 |
responseHeadersString = headers || ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6418 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6419 |
// Set readyState |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6420 |
jXHR.readyState = status ? 4 : 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6421 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6422 |
var isSuccess, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6423 |
success, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6424 |
error, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6425 |
response = responses ? ajaxHandleResponses( s, jXHR, responses ) : undefined, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6426 |
lastModified, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6427 |
etag; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6428 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6429 |
// If successful, handle type chaining |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6430 |
if ( status >= 200 && status < 300 || status === 304 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6431 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6432 |
// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6433 |
if ( s.ifModified ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6434 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6435 |
if ( ( lastModified = jXHR.getResponseHeader( "Last-Modified" ) ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6436 |
jQuery.lastModified[ s.url ] = lastModified; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6437 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6438 |
if ( ( etag = jXHR.getResponseHeader( "Etag" ) ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6439 |
jQuery.etag[ s.url ] = etag; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6440 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6441 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6442 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6443 |
// If not modified |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6444 |
if ( status === 304 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6445 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6446 |
statusText = "notmodified"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6447 |
isSuccess = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6448 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6449 |
// If we have data |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6450 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6451 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6452 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6453 |
success = ajaxConvert( s, response ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6454 |
statusText = "success"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6455 |
isSuccess = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6456 |
} catch(e) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6457 |
// We have a parsererror |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6458 |
statusText = "parsererror"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6459 |
error = e; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6460 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6461 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6462 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6463 |
// We extract error from statusText |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6464 |
// then normalize statusText and status for non-aborts |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6465 |
error = statusText; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6466 |
if( status ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6467 |
statusText = "error"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6468 |
if ( status < 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6469 |
status = 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6470 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6471 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6472 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6473 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6474 |
// Set data for the fake xhr object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6475 |
jXHR.status = status; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6476 |
jXHR.statusText = statusText; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6477 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6478 |
// Success/Error |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6479 |
if ( isSuccess ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6480 |
deferred.resolveWith( callbackContext, [ success, statusText, jXHR ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6481 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6482 |
deferred.rejectWith( callbackContext, [ jXHR, statusText, error ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6483 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6484 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6485 |
// Status-dependent callbacks |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6486 |
jXHR.statusCode( statusCode ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6487 |
statusCode = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6488 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6489 |
if ( s.global ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6490 |
globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6491 |
[ jXHR, s, isSuccess ? success : error ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6492 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6493 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6494 |
// Complete |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6495 |
completeDeferred.resolveWith( callbackContext, [ jXHR, statusText ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6496 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6497 |
if ( s.global ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6498 |
globalEventContext.trigger( "ajaxComplete", [ jXHR, s] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6499 |
// Handle the global AJAX counter |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6500 |
if ( !( --jQuery.active ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6501 |
jQuery.event.trigger( "ajaxStop" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6502 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6503 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6504 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6505 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6506 |
// Attach deferreds |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6507 |
deferred.promise( jXHR ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6508 |
jXHR.success = jXHR.done; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6509 |
jXHR.error = jXHR.fail; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6510 |
jXHR.complete = completeDeferred.done; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6511 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6512 |
// Status-dependent callbacks |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6513 |
jXHR.statusCode = function( map ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6514 |
if ( map ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6515 |
var tmp; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6516 |
if ( state < 2 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6517 |
for( tmp in map ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6518 |
statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6519 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6520 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6521 |
tmp = map[ jXHR.status ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6522 |
jXHR.then( tmp, tmp ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6523 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6524 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6525 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6526 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6527 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6528 |
// Remove hash character (#7531: and string promotion) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6529 |
// Add protocol if not provided (#5866: IE7 issue with protocol-less urls) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6530 |
// We also use the url parameter if available |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6531 |
s.url = ( "" + ( url || s.url ) ).replace( rhash, "" ).replace( rprotocol, protocol + "//" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6532 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6533 |
// Extract dataTypes list |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6534 |
s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspacesAjax ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6535 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6536 |
// Determine if a cross-domain request is in order |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6537 |
if ( !s.crossDomain ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6538 |
parts = rurl.exec( s.url.toLowerCase() ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6539 |
s.crossDomain = !!( parts && |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6540 |
( parts[ 1 ] != protocol || parts[ 2 ] != loc.hostname || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6541 |
( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) != |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6542 |
( loc.port || ( protocol === "http:" ? 80 : 443 ) ) ) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6543 |
); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6544 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6545 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6546 |
// Convert data if not already a string |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6547 |
if ( s.data && s.processData && typeof s.data !== "string" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6548 |
s.data = jQuery.param( s.data, s.traditional ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6549 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6550 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6551 |
// Apply prefilters |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6552 |
inspectPrefiltersOrTransports( prefilters, s, options, jXHR ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6553 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6554 |
// Uppercase the type |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6555 |
s.type = s.type.toUpperCase(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6556 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6557 |
// Determine if request has content |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6558 |
s.hasContent = !rnoContent.test( s.type ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6559 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6560 |
// Watch for a new set of requests |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6561 |
if ( s.global && jQuery.active++ === 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6562 |
jQuery.event.trigger( "ajaxStart" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6563 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6564 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6565 |
// More options handling for requests with no content |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6566 |
if ( !s.hasContent ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6567 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6568 |
// If data is available, append data to url |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6569 |
if ( s.data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6570 |
s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6571 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6572 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6573 |
// Add anti-cache in url if needed |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6574 |
if ( s.cache === false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6575 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6576 |
var ts = jQuery.now(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6577 |
// try replacing _= if it is there |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6578 |
ret = s.url.replace( rts, "$1_=" + ts ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6579 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6580 |
// if nothing was replaced, add timestamp to the end |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6581 |
s.url = ret + ( (ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6582 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6583 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6584 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6585 |
// Set the correct header, if data is being sent |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6586 |
if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6587 |
requestHeaders[ "content-type" ] = s.contentType; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6588 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6589 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6590 |
// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6591 |
if ( s.ifModified ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6592 |
if ( jQuery.lastModified[ s.url ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6593 |
requestHeaders[ "if-modified-since" ] = jQuery.lastModified[ s.url ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6594 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6595 |
if ( jQuery.etag[ s.url ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6596 |
requestHeaders[ "if-none-match" ] = jQuery.etag[ s.url ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6597 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6598 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6599 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6600 |
// Set the Accepts header for the server, depending on the dataType |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6601 |
requestHeaders.accept = s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6602 |
s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", */*; q=0.01" : "" ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6603 |
s.accepts[ "*" ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6604 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6605 |
// Check for headers option |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6606 |
for ( i in s.headers ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6607 |
requestHeaders[ i.toLowerCase() ] = s.headers[ i ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6608 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6609 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6610 |
// Allow custom headers/mimetypes and early abort |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6611 |
if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jXHR, s ) === false || state === 2 ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6612 |
// Abort if not done already |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6613 |
done( 0, "abort" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6614 |
// Return false |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6615 |
jXHR = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6616 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6617 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6618 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6619 |
// Install callbacks on deferreds |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6620 |
for ( i in { success: 1, error: 1, complete: 1 } ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6621 |
jXHR[ i ]( s[ i ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6622 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6623 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6624 |
// Get transport |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6625 |
transport = inspectPrefiltersOrTransports( transports, s, options, jXHR ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6626 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6627 |
// If no transport, we auto-abort |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6628 |
if ( !transport ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6629 |
done( -1, "No Transport" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6630 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6631 |
// Set state as sending |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6632 |
state = jXHR.readyState = 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6633 |
// Send global event |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6634 |
if ( s.global ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6635 |
globalEventContext.trigger( "ajaxSend", [ jXHR, s ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6636 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6637 |
// Timeout |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6638 |
if ( s.async && s.timeout > 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6639 |
timeoutTimer = setTimeout( function(){
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6640 |
jXHR.abort( "timeout" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6641 |
}, s.timeout ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6642 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6643 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6644 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6645 |
transport.send( requestHeaders, done ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6646 |
} catch (e) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6647 |
// Propagate exception as error if not done |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6648 |
if ( status < 2 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6649 |
done( -1, e ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6650 |
// Simply rethrow otherwise |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6651 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6652 |
jQuery.error( e ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6653 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6654 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6655 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6656 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6657 |
return jXHR; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6658 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6659 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6660 |
// Serialize an array of form elements or a set of |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6661 |
// key/values into a query string |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6662 |
param: function( a, traditional ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6663 |
var s = [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6664 |
add = function( key, value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6665 |
// If value is a function, invoke it and return its value |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6666 |
value = jQuery.isFunction( value ) ? value() : value; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6667 |
s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6668 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6669 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6670 |
// Set traditional to true for jQuery <= 1.3.2 behavior. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6671 |
if ( traditional === undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6672 |
traditional = jQuery.ajaxSettings.traditional; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6673 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6674 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6675 |
// If an array was passed in, assume that it is an array of form elements. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6676 |
if ( jQuery.isArray( a ) || a.jquery ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6677 |
// Serialize the form elements |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6678 |
jQuery.each( a, function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6679 |
add( this.name, this.value ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6680 |
} ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6681 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6682 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6683 |
// If traditional, encode the "old" way (the way 1.3.2 or older |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6684 |
// did it), otherwise encode params recursively. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6685 |
for ( var prefix in a ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6686 |
buildParams( prefix, a[ prefix ], traditional, add ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6687 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6688 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6689 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6690 |
// Return the resulting serialization |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6691 |
return s.join( "&" ).replace( r20, "+" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6692 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6693 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6694 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6695 |
function buildParams( prefix, obj, traditional, add ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6696 |
if ( jQuery.isArray( obj ) && obj.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6697 |
// Serialize array item. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6698 |
jQuery.each( obj, function( i, v ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6699 |
if ( traditional || rbracket.test( prefix ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6700 |
// Treat each array item as a scalar. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6701 |
add( prefix, v ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6702 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6703 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6704 |
// If array item is non-scalar (array or object), encode its |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6705 |
// numeric index to resolve deserialization ambiguity issues. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6706 |
// Note that rack (as of 1.0.0) can't currently deserialize |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6707 |
// nested arrays properly, and attempting to do so may cause |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6708 |
// a server error. Possible fixes are to modify rack's |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6709 |
// deserialization algorithm or to provide an option or flag |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6710 |
// to force array serialization to be shallow. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6711 |
buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v, traditional, add ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6712 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6713 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6714 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6715 |
} else if ( !traditional && obj != null && typeof obj === "object" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6716 |
// If we see an array here, it is empty and should be treated as an empty |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6717 |
// object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6718 |
if ( jQuery.isArray( obj ) || jQuery.isEmptyObject( obj ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6719 |
add( prefix, "" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6720 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6721 |
// Serialize object item. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6722 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6723 |
jQuery.each( obj, function( k, v ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6724 |
buildParams( prefix + "[" + k + "]", v, traditional, add ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6725 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6726 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6727 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6728 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6729 |
// Serialize scalar item. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6730 |
add( prefix, obj ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6731 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6732 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6733 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6734 |
// This is still on the jQuery object... for now |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6735 |
// Want to move this to jQuery.ajax some day |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6736 |
jQuery.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6737 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6738 |
// Counter for holding the number of active queries |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6739 |
active: 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6740 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6741 |
// Last-Modified header cache for next request |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6742 |
lastModified: {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6743 |
etag: {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6744 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6745 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6746 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6747 |
/* Handles responses to an ajax request: |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6748 |
* - sets all responseXXX fields accordingly |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6749 |
* - finds the right dataType (mediates between content-type and expected dataType) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6750 |
* - returns the corresponding response |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6751 |
*/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6752 |
function ajaxHandleResponses( s, jXHR, responses ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6753 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6754 |
var contents = s.contents, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6755 |
dataTypes = s.dataTypes, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6756 |
responseFields = s.responseFields, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6757 |
ct, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6758 |
type, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6759 |
finalDataType, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6760 |
firstDataType; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6761 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6762 |
// Fill responseXXX fields |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6763 |
for( type in responseFields ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6764 |
if ( type in responses ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6765 |
jXHR[ responseFields[type] ] = responses[ type ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6766 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6767 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6768 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6769 |
// Remove auto dataType and get content-type in the process |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6770 |
while( dataTypes[ 0 ] === "*" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6771 |
dataTypes.shift(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6772 |
if ( ct === undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6773 |
ct = jXHR.getResponseHeader( "content-type" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6774 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6775 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6776 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6777 |
// Check if we're dealing with a known content-type |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6778 |
if ( ct ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6779 |
for ( type in contents ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6780 |
if ( contents[ type ] && contents[ type ].test( ct ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6781 |
dataTypes.unshift( type ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6782 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6783 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6784 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6785 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6786 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6787 |
// Check to see if we have a response for the expected dataType |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6788 |
if ( dataTypes[ 0 ] in responses ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6789 |
finalDataType = dataTypes[ 0 ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6790 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6791 |
// Try convertible dataTypes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6792 |
for ( type in responses ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6793 |
if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6794 |
finalDataType = type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6795 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6796 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6797 |
if ( !firstDataType ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6798 |
firstDataType = type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6799 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6800 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6801 |
// Or just use first one |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6802 |
finalDataType = finalDataType || firstDataType; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6803 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6804 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6805 |
// If we found a dataType |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6806 |
// We add the dataType to the list if needed |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6807 |
// and return the corresponding response |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6808 |
if ( finalDataType ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6809 |
if ( finalDataType !== dataTypes[ 0 ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6810 |
dataTypes.unshift( finalDataType ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6811 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6812 |
return responses[ finalDataType ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6813 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6814 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6815 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6816 |
// Chain conversions given the request and the original response |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6817 |
function ajaxConvert( s, response ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6818 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6819 |
// Apply the dataFilter if provided |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6820 |
if ( s.dataFilter ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6821 |
response = s.dataFilter( response, s.dataType ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6822 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6823 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6824 |
var dataTypes = s.dataTypes, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6825 |
converters = s.converters, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6826 |
i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6827 |
length = dataTypes.length, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6828 |
tmp, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6829 |
// Current and previous dataTypes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6830 |
current = dataTypes[ 0 ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6831 |
prev, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6832 |
// Conversion expression |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6833 |
conversion, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6834 |
// Conversion function |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6835 |
conv, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6836 |
// Conversion functions (transitive conversion) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6837 |
conv1, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6838 |
conv2; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6839 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6840 |
// For each dataType in the chain |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6841 |
for( i = 1; i < length; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6842 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6843 |
// Get the dataTypes |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6844 |
prev = current; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6845 |
current = dataTypes[ i ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6846 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6847 |
// If current is auto dataType, update it to prev |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6848 |
if( current === "*" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6849 |
current = prev; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6850 |
// If no auto and dataTypes are actually different |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6851 |
} else if ( prev !== "*" && prev !== current ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6852 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6853 |
// Get the converter |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6854 |
conversion = prev + " " + current; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6855 |
conv = converters[ conversion ] || converters[ "* " + current ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6856 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6857 |
// If there is no direct converter, search transitively |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6858 |
if ( !conv ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6859 |
conv2 = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6860 |
for( conv1 in converters ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6861 |
tmp = conv1.split( " " ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6862 |
if ( tmp[ 0 ] === prev || tmp[ 0 ] === "*" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6863 |
conv2 = converters[ tmp[1] + " " + current ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6864 |
if ( conv2 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6865 |
conv1 = converters[ conv1 ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6866 |
if ( conv1 === true ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6867 |
conv = conv2; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6868 |
} else if ( conv2 === true ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6869 |
conv = conv1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6870 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6871 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6872 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6873 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6874 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6875 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6876 |
// If we found no converter, dispatch an error |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6877 |
if ( !( conv || conv2 ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6878 |
jQuery.error( "No conversion from " + conversion.replace(" "," to ") );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6879 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6880 |
// If found converter is not an equivalence |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6881 |
if ( conv !== true ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6882 |
// Convert with 1 or 2 converters accordingly |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6883 |
response = conv ? conv( response ) : conv2( conv1(response) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6884 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6885 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6886 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6887 |
return response; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6888 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6889 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6890 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6891 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6892 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6893 |
var jsc = jQuery.now(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6894 |
jsre = /(\=)\?(&|$)|()\?\?()/i; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6895 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6896 |
// Default jsonp settings |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6897 |
jQuery.ajaxSetup({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6898 |
jsonp: "callback", |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6899 |
jsonpCallback: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6900 |
return jQuery.expando + "_" + ( jsc++ ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6901 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6902 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6903 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6904 |
// Detect, normalize options and install callbacks for jsonp requests |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6905 |
jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, dataIsString /* internal */ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6906 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6907 |
dataIsString = ( typeof s.data === "string" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6908 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6909 |
if ( s.dataTypes[ 0 ] === "jsonp" || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6910 |
originalSettings.jsonpCallback || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6911 |
originalSettings.jsonp != null || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6912 |
s.jsonp !== false && ( jsre.test( s.url ) || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6913 |
dataIsString && jsre.test( s.data ) ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6914 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6915 |
var responseContainer, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6916 |
jsonpCallback = s.jsonpCallback = |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6917 |
jQuery.isFunction( s.jsonpCallback ) ? s.jsonpCallback() : s.jsonpCallback, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6918 |
previous = window[ jsonpCallback ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6919 |
url = s.url, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6920 |
data = s.data, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6921 |
replace = "$1" + jsonpCallback + "$2"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6922 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6923 |
if ( s.jsonp !== false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6924 |
url = url.replace( jsre, replace ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6925 |
if ( s.url === url ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6926 |
if ( dataIsString ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6927 |
data = data.replace( jsre, replace ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6928 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6929 |
if ( s.data === data ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6930 |
// Add callback manually |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6931 |
url += (/\?/.test( url ) ? "&" : "?") + s.jsonp + "=" + jsonpCallback; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6932 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6933 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6934 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6935 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6936 |
s.url = url; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6937 |
s.data = data; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6938 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6939 |
window[ jsonpCallback ] = function( response ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6940 |
responseContainer = [ response ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6941 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6942 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6943 |
s.complete = [ function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6944 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6945 |
// Set callback back to previous value |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6946 |
window[ jsonpCallback ] = previous; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6947 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6948 |
// Call if it was a function and we have a response |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6949 |
if ( previous) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6950 |
if ( responseContainer && jQuery.isFunction( previous ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6951 |
window[ jsonpCallback ] ( responseContainer[ 0 ] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6952 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6953 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6954 |
// else, more memory leak avoidance |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6955 |
try{
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6956 |
delete window[ jsonpCallback ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6957 |
} catch( e ) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6958 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6959 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6960 |
}, s.complete ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6961 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6962 |
// Use data converter to retrieve json after script execution |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6963 |
s.converters["script json"] = function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6964 |
if ( ! responseContainer ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6965 |
jQuery.error( jsonpCallback + " was not called" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6966 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6967 |
return responseContainer[ 0 ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6968 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6969 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6970 |
// force json dataType |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6971 |
s.dataTypes[ 0 ] = "json"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6972 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6973 |
// Delegate to script |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6974 |
return "script"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6975 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6976 |
} ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6977 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6978 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6979 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6980 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6981 |
// Install script dataType |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6982 |
jQuery.ajaxSetup({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6983 |
accepts: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6984 |
script: "text/javascript, application/javascript" |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6985 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6986 |
contents: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6987 |
script: /javascript/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6988 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6989 |
converters: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6990 |
"text script": function( text ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6991 |
jQuery.globalEval( text ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6992 |
return text; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6993 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6994 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6995 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6996 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6997 |
// Handle cache's special case and global |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6998 |
jQuery.ajaxPrefilter( "script", function( s ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6999 |
if ( s.cache === undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7000 |
s.cache = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7001 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7002 |
if ( s.crossDomain ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7003 |
s.type = "GET"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7004 |
s.global = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7005 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7006 |
} ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7007 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7008 |
// Bind script tag hack transport |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7009 |
jQuery.ajaxTransport( "script", function(s) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7010 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7011 |
// This transport only deals with cross domain requests |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7012 |
if ( s.crossDomain ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7013 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7014 |
var script, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7015 |
head = document.getElementsByTagName( "head" )[ 0 ] || document.documentElement; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7016 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7017 |
return {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7018 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7019 |
send: function( _, callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7020 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7021 |
script = document.createElement( "script" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7022 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7023 |
script.async = "async"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7024 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7025 |
if ( s.scriptCharset ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7026 |
script.charset = s.scriptCharset; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7027 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7028 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7029 |
script.src = s.url; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7030 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7031 |
// Attach handlers for all browsers |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7032 |
script.onload = script.onreadystatechange = function( _, isAbort ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7033 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7034 |
if ( !script.readyState || /loaded|complete/.test( script.readyState ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7035 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7036 |
// Handle memory leak in IE |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7037 |
script.onload = script.onreadystatechange = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7038 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7039 |
// Remove the script |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7040 |
if ( head && script.parentNode ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7041 |
head.removeChild( script ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7042 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7043 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7044 |
// Dereference the script |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7045 |
script = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7046 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7047 |
// Callback if not abort |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7048 |
if ( !isAbort ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7049 |
callback( 200, "success" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7050 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7051 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7052 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7053 |
// Use insertBefore instead of appendChild to circumvent an IE6 bug. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7054 |
// This arises when a base node is used (#2709 and #4378). |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7055 |
head.insertBefore( script, head.firstChild ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7056 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7057 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7058 |
abort: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7059 |
if ( script ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7060 |
script.onload( 0, 1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7061 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7062 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7063 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7064 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7065 |
} ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7066 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7067 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7068 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7069 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7070 |
var // Next active xhr id |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7071 |
xhrId = jQuery.now(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7072 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7073 |
// active xhrs |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7074 |
xhrs = {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7075 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7076 |
// #5280: see below |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7077 |
xhrUnloadAbortInstalled, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7078 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7079 |
// XHR used to determine supports properties |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7080 |
testXHR; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7081 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7082 |
// Create the request object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7083 |
// (This is still attached to ajaxSettings for backward compatibility) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7084 |
jQuery.ajaxSettings.xhr = window.ActiveXObject ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7085 |
/* Microsoft failed to properly |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7086 |
* implement the XMLHttpRequest in IE7 (can't request local files), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7087 |
* so we use the ActiveXObject when it is available |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7088 |
* Additionally XMLHttpRequest can be disabled in IE7/IE8 so |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7089 |
* we need a fallback. |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7090 |
*/ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7091 |
function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7092 |
if ( window.location.protocol !== "file:" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7093 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7094 |
return new window.XMLHttpRequest(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7095 |
} catch( xhrError ) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7096 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7097 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7098 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7099 |
return new window.ActiveXObject("Microsoft.XMLHTTP");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7100 |
} catch( activeError ) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7101 |
} : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7102 |
// For all other browsers, use the standard XMLHttpRequest object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7103 |
function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7104 |
return new window.XMLHttpRequest(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7105 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7106 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7107 |
// Test if we can create an xhr object |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7108 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7109 |
testXHR = jQuery.ajaxSettings.xhr(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7110 |
} catch( xhrCreationException ) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7111 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7112 |
//Does this browser support XHR requests? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7113 |
jQuery.support.ajax = !!testXHR; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7114 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7115 |
// Does this browser support crossDomain XHR requests |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7116 |
jQuery.support.cors = testXHR && ( "withCredentials" in testXHR ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7117 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7118 |
// No need for the temporary xhr anymore |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7119 |
testXHR = undefined; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7120 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7121 |
// Create transport if the browser can provide an xhr |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7122 |
if ( jQuery.support.ajax ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7123 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7124 |
jQuery.ajaxTransport(function( s ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7125 |
// Cross domain only allowed if supported through XMLHttpRequest |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7126 |
if ( !s.crossDomain || jQuery.support.cors ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7127 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7128 |
var callback; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7129 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7130 |
return {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7131 |
send: function( headers, complete ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7132 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7133 |
// #5280: we need to abort on unload or IE will keep connections alive |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7134 |
if ( !xhrUnloadAbortInstalled ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7135 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7136 |
xhrUnloadAbortInstalled = 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7137 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7138 |
jQuery(window).bind( "unload", function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7139 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7140 |
// Abort all pending requests |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7141 |
jQuery.each( xhrs, function( _, xhr ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7142 |
if ( xhr.onreadystatechange ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7143 |
xhr.onreadystatechange( 1 ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7144 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7145 |
} ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7146 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7147 |
} ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7148 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7149 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7150 |
// Get a new xhr |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7151 |
var xhr = s.xhr(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7152 |
handle; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7153 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7154 |
// Open the socket |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7155 |
// Passing null username, generates a login popup on Opera (#2865) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7156 |
if ( s.username ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7157 |
xhr.open( s.type, s.url, s.async, s.username, s.password ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7158 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7159 |
xhr.open( s.type, s.url, s.async ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7160 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7161 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7162 |
// Requested-With header |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7163 |
// Not set for crossDomain requests with no content |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7164 |
// (see why at http://trac.dojotoolkit.org/ticket/9486) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7165 |
// Won't change header if already provided |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7166 |
if ( !( s.crossDomain && !s.hasContent ) && !headers["x-requested-with"] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7167 |
headers[ "x-requested-with" ] = "XMLHttpRequest"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7168 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7169 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7170 |
// Need an extra try/catch for cross domain requests in Firefox 3 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7171 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7172 |
jQuery.each( headers, function( key, value ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7173 |
xhr.setRequestHeader( key, value ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7174 |
} ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7175 |
} catch( _ ) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7176 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7177 |
// Do send the request |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7178 |
// This may raise an exception which is actually |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7179 |
// handled in jQuery.ajax (so no try/catch here) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7180 |
xhr.send( ( s.hasContent && s.data ) || null ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7181 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7182 |
// Listener |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7183 |
callback = function( _, isAbort ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7184 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7185 |
// Was never called and is aborted or complete |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7186 |
if ( callback && ( isAbort || xhr.readyState === 4 ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7187 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7188 |
// Only called once |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7189 |
callback = 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7190 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7191 |
// Do not keep as active anymore |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7192 |
if ( handle ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7193 |
xhr.onreadystatechange = jQuery.noop; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7194 |
delete xhrs[ handle ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7195 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7196 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7197 |
// If it's an abort |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7198 |
if ( isAbort ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7199 |
// Abort it manually if needed |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7200 |
if ( xhr.readyState !== 4 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7201 |
xhr.abort(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7202 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7203 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7204 |
// Get info |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7205 |
var status = xhr.status, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7206 |
statusText, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7207 |
responseHeaders = xhr.getAllResponseHeaders(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7208 |
responses = {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7209 |
xml = xhr.responseXML; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7210 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7211 |
// Construct response list |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7212 |
if ( xml && xml.documentElement /* #4958 */ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7213 |
responses.xml = xml; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7214 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7215 |
responses.text = xhr.responseText; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7216 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7217 |
// Firefox throws an exception when accessing |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7218 |
// statusText for faulty cross-domain requests |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7219 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7220 |
statusText = xhr.statusText; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7221 |
} catch( e ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7222 |
// We normalize with Webkit giving an empty statusText |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7223 |
statusText = ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7224 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7225 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7226 |
// Filter status for non standard behaviours |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7227 |
status = |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7228 |
// Opera returns 0 when it should be 304 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7229 |
// Webkit returns 0 for failing cross-domain no matter the real status |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7230 |
status === 0 ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7231 |
( |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7232 |
// Webkit, Firefox: filter out faulty cross-domain requests |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7233 |
!s.crossDomain || statusText ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7234 |
( |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7235 |
// Opera: filter out real aborts #6060 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7236 |
responseHeaders ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7237 |
304 : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7238 |
0 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7239 |
) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7240 |
// We assume 302 but could be anything cross-domain related |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7241 |
302 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7242 |
) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7243 |
( |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7244 |
// IE sometimes returns 1223 when it should be 204 (see #1450) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7245 |
status == 1223 ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7246 |
204 : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7247 |
status |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7248 |
); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7249 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7250 |
// Call complete |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7251 |
complete( status, statusText, responses, responseHeaders ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7252 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7253 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7254 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7255 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7256 |
// if we're in sync mode or it's in cache |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7257 |
// and has been retrieved directly (IE6 & IE7) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7258 |
// we need to manually fire the callback |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7259 |
if ( !s.async || xhr.readyState === 4 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7260 |
callback(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7261 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7262 |
// Add to list of active xhrs |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7263 |
handle = xhrId++; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7264 |
xhrs[ handle ] = xhr; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7265 |
xhr.onreadystatechange = callback; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7266 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7267 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7268 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7269 |
abort: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7270 |
if ( callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7271 |
callback(0,1); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7272 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7273 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7274 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7275 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7276 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7277 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7278 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7279 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7280 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7281 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7282 |
var elemdisplay = {},
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7283 |
rfxtypes = /^(?:toggle|show|hide)$/, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7284 |
rfxnum = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7285 |
timerId, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7286 |
fxAttrs = [ |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7287 |
// height animations |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7288 |
[ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7289 |
// width animations |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7290 |
[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7291 |
// opacity animations |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7292 |
[ "opacity" ] |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7293 |
]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7294 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7295 |
jQuery.fn.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7296 |
show: function( speed, easing, callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7297 |
var elem, display; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7298 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7299 |
if ( speed || speed === 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7300 |
return this.animate( genFx("show", 3), speed, easing, callback);
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7301 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7302 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7303 |
for ( var i = 0, j = this.length; i < j; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7304 |
elem = this[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7305 |
display = elem.style.display; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7306 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7307 |
// Reset the inline display of this element to learn if it is |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7308 |
// being hidden by cascaded rules or not |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7309 |
if ( !jQuery._data(elem, "olddisplay") && display === "none" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7310 |
display = elem.style.display = ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7311 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7312 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7313 |
// Set elements which have been overridden with display: none |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7314 |
// in a stylesheet to whatever the default browser style is |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7315 |
// for such an element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7316 |
if ( display === "" && jQuery.css( elem, "display" ) === "none" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7317 |
jQuery._data(elem, "olddisplay", defaultDisplay(elem.nodeName)); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7318 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7319 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7320 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7321 |
// Set the display of most of the elements in a second loop |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7322 |
// to avoid the constant reflow |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7323 |
for ( i = 0; i < j; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7324 |
elem = this[i]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7325 |
display = elem.style.display; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7326 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7327 |
if ( display === "" || display === "none" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7328 |
elem.style.display = jQuery._data(elem, "olddisplay") || ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7329 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7330 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7331 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7332 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7333 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7334 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7335 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7336 |
hide: function( speed, easing, callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7337 |
if ( speed || speed === 0 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7338 |
return this.animate( genFx("hide", 3), speed, easing, callback);
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7339 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7340 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7341 |
for ( var i = 0, j = this.length; i < j; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7342 |
var display = jQuery.css( this[i], "display" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7343 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7344 |
if ( display !== "none" && !jQuery._data( this[i], "olddisplay" ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7345 |
jQuery._data( this[i], "olddisplay", display ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7346 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7347 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7348 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7349 |
// Set the display of the elements in a second loop |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7350 |
// to avoid the constant reflow |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7351 |
for ( i = 0; i < j; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7352 |
this[i].style.display = "none"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7353 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7354 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7355 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7356 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7357 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7358 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7359 |
// Save the old toggle function |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7360 |
_toggle: jQuery.fn.toggle, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7361 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7362 |
toggle: function( fn, fn2, callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7363 |
var bool = typeof fn === "boolean"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7364 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7365 |
if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7366 |
this._toggle.apply( this, arguments ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7367 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7368 |
} else if ( fn == null || bool ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7369 |
this.each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7370 |
var state = bool ? fn : jQuery(this).is(":hidden");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7371 |
jQuery(this)[ state ? "show" : "hide" ](); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7372 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7373 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7374 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7375 |
this.animate(genFx("toggle", 3), fn, fn2, callback);
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7376 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7377 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7378 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7379 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7380 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7381 |
fadeTo: function( speed, to, easing, callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7382 |
return this.filter(":hidden").css("opacity", 0).show().end()
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7383 |
.animate({opacity: to}, speed, easing, callback);
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7384 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7385 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7386 |
animate: function( prop, speed, easing, callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7387 |
var optall = jQuery.speed(speed, easing, callback); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7388 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7389 |
if ( jQuery.isEmptyObject( prop ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7390 |
return this.each( optall.complete ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7391 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7392 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7393 |
return this[ optall.queue === false ? "each" : "queue" ](function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7394 |
// XXX 'this' does not always have a nodeName when running the |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7395 |
// test suite |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7396 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7397 |
var opt = jQuery.extend({}, optall), p,
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7398 |
isElement = this.nodeType === 1, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7399 |
hidden = isElement && jQuery(this).is(":hidden"),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7400 |
self = this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7401 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7402 |
for ( p in prop ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7403 |
var name = jQuery.camelCase( p ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7404 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7405 |
if ( p !== name ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7406 |
prop[ name ] = prop[ p ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7407 |
delete prop[ p ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7408 |
p = name; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7409 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7410 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7411 |
if ( prop[p] === "hide" && hidden || prop[p] === "show" && !hidden ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7412 |
return opt.complete.call(this); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7413 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7414 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7415 |
if ( isElement && ( p === "height" || p === "width" ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7416 |
// Make sure that nothing sneaks out |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7417 |
// Record all 3 overflow attributes because IE does not |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7418 |
// change the overflow attribute when overflowX and |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7419 |
// overflowY are set to the same value |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7420 |
opt.overflow = [ this.style.overflow, this.style.overflowX, this.style.overflowY ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7421 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7422 |
// Set display property to inline-block for height/width |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7423 |
// animations on inline elements that are having width/height |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7424 |
// animated |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7425 |
if ( jQuery.css( this, "display" ) === "inline" && |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7426 |
jQuery.css( this, "float" ) === "none" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7427 |
if ( !jQuery.support.inlineBlockNeedsLayout ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7428 |
this.style.display = "inline-block"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7429 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7430 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7431 |
var display = defaultDisplay(this.nodeName); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7432 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7433 |
// inline-level elements accept inline-block; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7434 |
// block-level elements need to be inline with layout |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7435 |
if ( display === "inline" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7436 |
this.style.display = "inline-block"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7437 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7438 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7439 |
this.style.display = "inline"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7440 |
this.style.zoom = 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7441 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7442 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7443 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7444 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7445 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7446 |
if ( jQuery.isArray( prop[p] ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7447 |
// Create (if needed) and add to specialEasing |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7448 |
(opt.specialEasing = opt.specialEasing || {})[p] = prop[p][1];
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7449 |
prop[p] = prop[p][0]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7450 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7451 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7452 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7453 |
if ( opt.overflow != null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7454 |
this.style.overflow = "hidden"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7455 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7456 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7457 |
opt.curAnim = jQuery.extend({}, prop);
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7458 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7459 |
jQuery.each( prop, function( name, val ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7460 |
var e = new jQuery.fx( self, opt, name ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7461 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7462 |
if ( rfxtypes.test(val) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7463 |
e[ val === "toggle" ? hidden ? "show" : "hide" : val ]( prop ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7464 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7465 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7466 |
var parts = rfxnum.exec(val), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7467 |
start = e.cur() || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7468 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7469 |
if ( parts ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7470 |
var end = parseFloat( parts[2] ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7471 |
unit = parts[3] || "px"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7472 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7473 |
// We need to compute starting value |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7474 |
if ( unit !== "px" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7475 |
jQuery.style( self, name, (end || 1) + unit); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7476 |
start = ((end || 1) / e.cur()) * start; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7477 |
jQuery.style( self, name, start + unit); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7478 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7479 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7480 |
// If a +=/-= token was provided, we're doing a relative animation |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7481 |
if ( parts[1] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7482 |
end = ((parts[1] === "-=" ? -1 : 1) * end) + start; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7483 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7484 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7485 |
e.custom( start, end, unit ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7486 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7487 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7488 |
e.custom( start, val, "" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7489 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7490 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7491 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7492 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7493 |
// For JS strict compliance |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7494 |
return true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7495 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7496 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7497 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7498 |
stop: function( clearQueue, gotoEnd ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7499 |
var timers = jQuery.timers; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7500 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7501 |
if ( clearQueue ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7502 |
this.queue([]); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7503 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7504 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7505 |
this.each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7506 |
// go in reverse order so anything added to the queue during the loop is ignored |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7507 |
for ( var i = timers.length - 1; i >= 0; i-- ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7508 |
if ( timers[i].elem === this ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7509 |
if (gotoEnd) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7510 |
// force the next step to be the last |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7511 |
timers[i](true); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7512 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7513 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7514 |
timers.splice(i, 1); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7515 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7516 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7517 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7518 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7519 |
// start the next in the queue if the last step wasn't forced |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7520 |
if ( !gotoEnd ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7521 |
this.dequeue(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7522 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7523 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7524 |
return this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7525 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7526 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7527 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7528 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7529 |
function genFx( type, num ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7530 |
var obj = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7531 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7532 |
jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7533 |
obj[ this ] = type; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7534 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7535 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7536 |
return obj; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7537 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7538 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7539 |
// Generate shortcuts for custom animations |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7540 |
jQuery.each({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7541 |
slideDown: genFx("show", 1),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7542 |
slideUp: genFx("hide", 1),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7543 |
slideToggle: genFx("toggle", 1),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7544 |
fadeIn: { opacity: "show" },
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7545 |
fadeOut: { opacity: "hide" },
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7546 |
fadeToggle: { opacity: "toggle" }
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7547 |
}, function( name, props ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7548 |
jQuery.fn[ name ] = function( speed, easing, callback ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7549 |
return this.animate( props, speed, easing, callback ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7550 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7551 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7552 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7553 |
jQuery.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7554 |
speed: function( speed, easing, fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7555 |
var opt = speed && typeof speed === "object" ? jQuery.extend({}, speed) : {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7556 |
complete: fn || !fn && easing || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7557 |
jQuery.isFunction( speed ) && speed, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7558 |
duration: speed, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7559 |
easing: fn && easing || easing && !jQuery.isFunction(easing) && easing |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7560 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7561 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7562 |
opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7563 |
opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[opt.duration] : jQuery.fx.speeds._default; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7564 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7565 |
// Queueing |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7566 |
opt.old = opt.complete; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7567 |
opt.complete = function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7568 |
if ( opt.queue !== false ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7569 |
jQuery(this).dequeue(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7570 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7571 |
if ( jQuery.isFunction( opt.old ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7572 |
opt.old.call( this ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7573 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7574 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7575 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7576 |
return opt; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7577 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7578 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7579 |
easing: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7580 |
linear: function( p, n, firstNum, diff ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7581 |
return firstNum + diff * p; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7582 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7583 |
swing: function( p, n, firstNum, diff ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7584 |
return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7585 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7586 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7587 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7588 |
timers: [], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7589 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7590 |
fx: function( elem, options, prop ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7591 |
this.options = options; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7592 |
this.elem = elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7593 |
this.prop = prop; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7594 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7595 |
if ( !options.orig ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7596 |
options.orig = {};
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7597 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7598 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7599 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7600 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7601 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7602 |
jQuery.fx.prototype = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7603 |
// Simple function for setting a style value |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7604 |
update: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7605 |
if ( this.options.step ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7606 |
this.options.step.call( this.elem, this.now, this ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7607 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7608 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7609 |
(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7610 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7611 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7612 |
// Get the current size |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7613 |
cur: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7614 |
if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7615 |
return this.elem[ this.prop ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7616 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7617 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7618 |
var r = parseFloat( jQuery.css( this.elem, this.prop ) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7619 |
return r || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7620 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7621 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7622 |
// Start an animation from one number to another |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7623 |
custom: function( from, to, unit ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7624 |
var self = this, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7625 |
fx = jQuery.fx; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7626 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7627 |
this.startTime = jQuery.now(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7628 |
this.start = from; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7629 |
this.end = to; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7630 |
this.unit = unit || this.unit || "px"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7631 |
this.now = this.start; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7632 |
this.pos = this.state = 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7633 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7634 |
function t( gotoEnd ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7635 |
return self.step(gotoEnd); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7636 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7637 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7638 |
t.elem = this.elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7639 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7640 |
if ( t() && jQuery.timers.push(t) && !timerId ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7641 |
timerId = setInterval(fx.tick, fx.interval); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7642 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7643 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7644 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7645 |
// Simple 'show' function |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7646 |
show: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7647 |
// Remember where we started, so that we can go back to it later |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7648 |
this.options.orig[this.prop] = jQuery.style( this.elem, this.prop ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7649 |
this.options.show = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7650 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7651 |
// Begin the animation |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7652 |
// Make sure that we start at a small width/height to avoid any |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7653 |
// flash of content |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7654 |
this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7655 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7656 |
// Start by showing the element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7657 |
jQuery( this.elem ).show(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7658 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7659 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7660 |
// Simple 'hide' function |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7661 |
hide: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7662 |
// Remember where we started, so that we can go back to it later |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7663 |
this.options.orig[this.prop] = jQuery.style( this.elem, this.prop ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7664 |
this.options.hide = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7665 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7666 |
// Begin the animation |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7667 |
this.custom(this.cur(), 0); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7668 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7669 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7670 |
// Each step of an animation |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7671 |
step: function( gotoEnd ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7672 |
var t = jQuery.now(), done = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7673 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7674 |
if ( gotoEnd || t >= this.options.duration + this.startTime ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7675 |
this.now = this.end; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7676 |
this.pos = this.state = 1; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7677 |
this.update(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7678 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7679 |
this.options.curAnim[ this.prop ] = true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7680 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7681 |
for ( var i in this.options.curAnim ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7682 |
if ( this.options.curAnim[i] !== true ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7683 |
done = false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7684 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7685 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7686 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7687 |
if ( done ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7688 |
// Reset the overflow |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7689 |
if ( this.options.overflow != null && !jQuery.support.shrinkWrapBlocks ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7690 |
var elem = this.elem, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7691 |
options = this.options; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7692 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7693 |
jQuery.each( [ "", "X", "Y" ], function (index, value) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7694 |
elem.style[ "overflow" + value ] = options.overflow[index]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7695 |
} ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7696 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7697 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7698 |
// Hide the element if the "hide" operation was done |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7699 |
if ( this.options.hide ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7700 |
jQuery(this.elem).hide(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7701 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7702 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7703 |
// Reset the properties, if the item has been hidden or shown |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7704 |
if ( this.options.hide || this.options.show ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7705 |
for ( var p in this.options.curAnim ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7706 |
jQuery.style( this.elem, p, this.options.orig[p] ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7707 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7708 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7709 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7710 |
// Execute the complete function |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7711 |
this.options.complete.call( this.elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7712 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7713 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7714 |
return false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7715 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7716 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7717 |
var n = t - this.startTime; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7718 |
this.state = n / this.options.duration; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7719 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7720 |
// Perform the easing function, defaults to swing |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7721 |
var specialEasing = this.options.specialEasing && this.options.specialEasing[this.prop]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7722 |
var defaultEasing = this.options.easing || (jQuery.easing.swing ? "swing" : "linear"); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7723 |
this.pos = jQuery.easing[specialEasing || defaultEasing](this.state, n, 0, 1, this.options.duration); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7724 |
this.now = this.start + ((this.end - this.start) * this.pos); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7725 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7726 |
// Perform the next step of the animation |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7727 |
this.update(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7728 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7729 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7730 |
return true; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7731 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7732 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7733 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7734 |
jQuery.extend( jQuery.fx, {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7735 |
tick: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7736 |
var timers = jQuery.timers; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7737 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7738 |
for ( var i = 0; i < timers.length; i++ ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7739 |
if ( !timers[i]() ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7740 |
timers.splice(i--, 1); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7741 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7742 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7743 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7744 |
if ( !timers.length ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7745 |
jQuery.fx.stop(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7746 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7747 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7748 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7749 |
interval: 13, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7750 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7751 |
stop: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7752 |
clearInterval( timerId ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7753 |
timerId = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7754 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7755 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7756 |
speeds: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7757 |
slow: 600, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7758 |
fast: 200, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7759 |
// Default speed |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7760 |
_default: 400 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7761 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7762 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7763 |
step: {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7764 |
opacity: function( fx ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7765 |
jQuery.style( fx.elem, "opacity", fx.now ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7766 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7767 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7768 |
_default: function( fx ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7769 |
if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7770 |
fx.elem.style[ fx.prop ] = (fx.prop === "width" || fx.prop === "height" ? Math.max(0, fx.now) : fx.now) + fx.unit; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7771 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7772 |
fx.elem[ fx.prop ] = fx.now; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7773 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7774 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7775 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7776 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7777 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7778 |
if ( jQuery.expr && jQuery.expr.filters ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7779 |
jQuery.expr.filters.animated = function( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7780 |
return jQuery.grep(jQuery.timers, function( fn ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7781 |
return elem === fn.elem; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7782 |
}).length; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7783 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7784 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7785 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7786 |
function defaultDisplay( nodeName ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7787 |
if ( !elemdisplay[ nodeName ] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7788 |
var elem = jQuery("<" + nodeName + ">").appendTo("body"),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7789 |
display = elem.css("display");
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7790 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7791 |
elem.remove(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7792 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7793 |
if ( display === "none" || display === "" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7794 |
display = "block"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7795 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7796 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7797 |
elemdisplay[ nodeName ] = display; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7798 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7799 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7800 |
return elemdisplay[ nodeName ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7801 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7802 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7803 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7804 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7805 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7806 |
var rtable = /^t(?:able|d|h)$/i, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7807 |
rroot = /^(?:body|html)$/i; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7808 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7809 |
if ( "getBoundingClientRect" in document.documentElement ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7810 |
jQuery.fn.offset = function( options ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7811 |
var elem = this[0], box; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7812 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7813 |
if ( options ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7814 |
return this.each(function( i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7815 |
jQuery.offset.setOffset( this, options, i ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7816 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7817 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7818 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7819 |
if ( !elem || !elem.ownerDocument ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7820 |
return null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7821 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7822 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7823 |
if ( elem === elem.ownerDocument.body ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7824 |
return jQuery.offset.bodyOffset( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7825 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7826 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7827 |
try {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7828 |
box = elem.getBoundingClientRect(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7829 |
} catch(e) {}
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7830 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7831 |
var doc = elem.ownerDocument, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7832 |
docElem = doc.documentElement; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7833 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7834 |
// Make sure we're not dealing with a disconnected DOM node |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7835 |
if ( !box || !jQuery.contains( docElem, elem ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7836 |
return box ? { top: box.top, left: box.left } : { top: 0, left: 0 };
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7837 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7838 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7839 |
var body = doc.body, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7840 |
win = getWindow(doc), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7841 |
clientTop = docElem.clientTop || body.clientTop || 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7842 |
clientLeft = docElem.clientLeft || body.clientLeft || 0, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7843 |
scrollTop = (win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7844 |
scrollLeft = (win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7845 |
top = box.top + scrollTop - clientTop, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7846 |
left = box.left + scrollLeft - clientLeft; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7847 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7848 |
return { top: top, left: left };
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7849 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7850 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7851 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7852 |
jQuery.fn.offset = function( options ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7853 |
var elem = this[0]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7854 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7855 |
if ( options ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7856 |
return this.each(function( i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7857 |
jQuery.offset.setOffset( this, options, i ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7858 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7859 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7860 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7861 |
if ( !elem || !elem.ownerDocument ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7862 |
return null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7863 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7864 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7865 |
if ( elem === elem.ownerDocument.body ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7866 |
return jQuery.offset.bodyOffset( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7867 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7868 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7869 |
jQuery.offset.initialize(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7870 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7871 |
var computedStyle, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7872 |
offsetParent = elem.offsetParent, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7873 |
prevOffsetParent = elem, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7874 |
doc = elem.ownerDocument, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7875 |
docElem = doc.documentElement, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7876 |
body = doc.body, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7877 |
defaultView = doc.defaultView, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7878 |
prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7879 |
top = elem.offsetTop, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7880 |
left = elem.offsetLeft; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7881 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7882 |
while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7883 |
if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7884 |
break; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7885 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7886 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7887 |
computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7888 |
top -= elem.scrollTop; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7889 |
left -= elem.scrollLeft; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7890 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7891 |
if ( elem === offsetParent ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7892 |
top += elem.offsetTop; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7893 |
left += elem.offsetLeft; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7894 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7895 |
if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && rtable.test(elem.nodeName)) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7896 |
top += parseFloat( computedStyle.borderTopWidth ) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7897 |
left += parseFloat( computedStyle.borderLeftWidth ) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7898 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7899 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7900 |
prevOffsetParent = offsetParent; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7901 |
offsetParent = elem.offsetParent; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7902 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7903 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7904 |
if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7905 |
top += parseFloat( computedStyle.borderTopWidth ) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7906 |
left += parseFloat( computedStyle.borderLeftWidth ) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7907 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7908 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7909 |
prevComputedStyle = computedStyle; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7910 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7911 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7912 |
if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7913 |
top += body.offsetTop; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7914 |
left += body.offsetLeft; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7915 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7916 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7917 |
if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7918 |
top += Math.max( docElem.scrollTop, body.scrollTop ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7919 |
left += Math.max( docElem.scrollLeft, body.scrollLeft ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7920 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7921 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7922 |
return { top: top, left: left };
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7923 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7924 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7925 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7926 |
jQuery.offset = {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7927 |
initialize: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7928 |
var body = document.body, container = document.createElement("div"), innerDiv, checkDiv, table, td, bodyMarginTop = parseFloat( jQuery.css(body, "marginTop") ) || 0,
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7929 |
html = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7930 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7931 |
jQuery.extend( container.style, { position: "absolute", top: 0, left: 0, margin: 0, border: 0, width: "1px", height: "1px", visibility: "hidden" } );
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7932 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7933 |
container.innerHTML = html; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7934 |
body.insertBefore( container, body.firstChild ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7935 |
innerDiv = container.firstChild; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7936 |
checkDiv = innerDiv.firstChild; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7937 |
td = innerDiv.nextSibling.firstChild.firstChild; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7938 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7939 |
this.doesNotAddBorder = (checkDiv.offsetTop !== 5); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7940 |
this.doesAddBorderForTableAndCells = (td.offsetTop === 5); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7941 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7942 |
checkDiv.style.position = "fixed"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7943 |
checkDiv.style.top = "20px"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7944 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7945 |
// safari subtracts parent border width here which is 5px |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7946 |
this.supportsFixedPosition = (checkDiv.offsetTop === 20 || checkDiv.offsetTop === 15); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7947 |
checkDiv.style.position = checkDiv.style.top = ""; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7948 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7949 |
innerDiv.style.overflow = "hidden"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7950 |
innerDiv.style.position = "relative"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7951 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7952 |
this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7953 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7954 |
this.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7955 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7956 |
body.removeChild( container ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7957 |
body = container = innerDiv = checkDiv = table = td = null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7958 |
jQuery.offset.initialize = jQuery.noop; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7959 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7960 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7961 |
bodyOffset: function( body ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7962 |
var top = body.offsetTop, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7963 |
left = body.offsetLeft; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7964 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7965 |
jQuery.offset.initialize(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7966 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7967 |
if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7968 |
top += parseFloat( jQuery.css(body, "marginTop") ) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7969 |
left += parseFloat( jQuery.css(body, "marginLeft") ) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7970 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7971 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7972 |
return { top: top, left: left };
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7973 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7974 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7975 |
setOffset: function( elem, options, i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7976 |
var position = jQuery.css( elem, "position" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7977 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7978 |
// set position first, in-case top/left are set even on static elem |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7979 |
if ( position === "static" ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7980 |
elem.style.position = "relative"; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7981 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7982 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7983 |
var curElem = jQuery( elem ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7984 |
curOffset = curElem.offset(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7985 |
curCSSTop = jQuery.css( elem, "top" ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7986 |
curCSSLeft = jQuery.css( elem, "left" ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7987 |
calculatePosition = (position === "absolute" && jQuery.inArray('auto', [curCSSTop, curCSSLeft]) > -1),
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7988 |
props = {}, curPosition = {}, curTop, curLeft;
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7989 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7990 |
// need to be able to calculate position if either top or left is auto and position is absolute |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7991 |
if ( calculatePosition ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7992 |
curPosition = curElem.position(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7993 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7994 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7995 |
curTop = calculatePosition ? curPosition.top : parseInt( curCSSTop, 10 ) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7996 |
curLeft = calculatePosition ? curPosition.left : parseInt( curCSSLeft, 10 ) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7997 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7998 |
if ( jQuery.isFunction( options ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7999 |
options = options.call( elem, i, curOffset ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8000 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8001 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8002 |
if (options.top != null) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8003 |
props.top = (options.top - curOffset.top) + curTop; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8004 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8005 |
if (options.left != null) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8006 |
props.left = (options.left - curOffset.left) + curLeft; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8007 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8008 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8009 |
if ( "using" in options ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8010 |
options.using.call( elem, props ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8011 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8012 |
curElem.css( props ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8013 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8014 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8015 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8016 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8017 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8018 |
jQuery.fn.extend({
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8019 |
position: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8020 |
if ( !this[0] ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8021 |
return null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8022 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8023 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8024 |
var elem = this[0], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8025 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8026 |
// Get *real* offsetParent |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8027 |
offsetParent = this.offsetParent(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8028 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8029 |
// Get correct offsets |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8030 |
offset = this.offset(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8031 |
parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset();
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8032 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8033 |
// Subtract element margins |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8034 |
// note: when an element has margin: auto the offsetLeft and marginLeft |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8035 |
// are the same in Safari causing offset.left to incorrectly be 0 |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8036 |
offset.top -= parseFloat( jQuery.css(elem, "marginTop") ) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8037 |
offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8038 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8039 |
// Add offsetParent borders |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8040 |
parentOffset.top += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8041 |
parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8042 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8043 |
// Subtract the two offsets |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8044 |
return {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8045 |
top: offset.top - parentOffset.top, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8046 |
left: offset.left - parentOffset.left |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8047 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8048 |
}, |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8049 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8050 |
offsetParent: function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8051 |
return this.map(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8052 |
var offsetParent = this.offsetParent || document.body; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8053 |
while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8054 |
offsetParent = offsetParent.offsetParent; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8055 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8056 |
return offsetParent; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8057 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8058 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8059 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8060 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8061 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8062 |
// Create scrollLeft and scrollTop methods |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8063 |
jQuery.each( ["Left", "Top"], function( i, name ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8064 |
var method = "scroll" + name; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8065 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8066 |
jQuery.fn[ method ] = function(val) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8067 |
var elem = this[0], win; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8068 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8069 |
if ( !elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8070 |
return null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8071 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8072 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8073 |
if ( val !== undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8074 |
// Set the scroll offset |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8075 |
return this.each(function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8076 |
win = getWindow( this ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8077 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8078 |
if ( win ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8079 |
win.scrollTo( |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8080 |
!i ? val : jQuery(win).scrollLeft(), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8081 |
i ? val : jQuery(win).scrollTop() |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8082 |
); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8083 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8084 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8085 |
this[ method ] = val; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8086 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8087 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8088 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8089 |
win = getWindow( elem ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8090 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8091 |
// Return the scroll offset |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8092 |
return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] :
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8093 |
jQuery.support.boxModel && win.document.documentElement[ method ] || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8094 |
win.document.body[ method ] : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8095 |
elem[ method ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8096 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8097 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8098 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8099 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8100 |
function getWindow( elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8101 |
return jQuery.isWindow( elem ) ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8102 |
elem : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8103 |
elem.nodeType === 9 ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8104 |
elem.defaultView || elem.parentWindow : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8105 |
false; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8106 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8107 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8108 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8109 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8110 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8111 |
// Create innerHeight, innerWidth, outerHeight and outerWidth methods |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8112 |
jQuery.each([ "Height", "Width" ], function( i, name ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8113 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8114 |
var type = name.toLowerCase(); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8115 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8116 |
// innerHeight and innerWidth |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8117 |
jQuery.fn["inner" + name] = function() {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8118 |
return this[0] ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8119 |
parseFloat( jQuery.css( this[0], type, "padding" ) ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8120 |
null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8121 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8122 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8123 |
// outerHeight and outerWidth |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8124 |
jQuery.fn["outer" + name] = function( margin ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8125 |
return this[0] ? |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8126 |
parseFloat( jQuery.css( this[0], type, margin ? "margin" : "border" ) ) : |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8127 |
null; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8128 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8129 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8130 |
jQuery.fn[ type ] = function( size ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8131 |
// Get window width or height |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8132 |
var elem = this[0]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8133 |
if ( !elem ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8134 |
return size == null ? null : this; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8135 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8136 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8137 |
if ( jQuery.isFunction( size ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8138 |
return this.each(function( i ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8139 |
var self = jQuery( this ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8140 |
self[ type ]( size.call( this, i, self[ type ]() ) ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8141 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8142 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8143 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8144 |
if ( jQuery.isWindow( elem ) ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8145 |
// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8146 |
// 3rd condition allows Nokia support, as it supports the docElem prop but not CSS1Compat |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8147 |
var docElemProp = elem.document.documentElement[ "client" + name ]; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8148 |
return elem.document.compatMode === "CSS1Compat" && docElemProp || |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8149 |
elem.document.body[ "client" + name ] || docElemProp; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8150 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8151 |
// Get document width or height |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8152 |
} else if ( elem.nodeType === 9 ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8153 |
// Either scroll[Width/Height] or offset[Width/Height], whichever is greater |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8154 |
return Math.max( |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8155 |
elem.documentElement["client" + name], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8156 |
elem.body["scroll" + name], elem.documentElement["scroll" + name], |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8157 |
elem.body["offset" + name], elem.documentElement["offset" + name] |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8158 |
); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8159 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8160 |
// Get or set width or height on the element |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8161 |
} else if ( size === undefined ) {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8162 |
var orig = jQuery.css( elem, type ), |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8163 |
ret = parseFloat( orig ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8164 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8165 |
return jQuery.isNaN( ret ) ? orig : ret; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8166 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8167 |
// Set the width or height on the element (default to pixels if value is unitless) |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8168 |
} else {
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8169 |
return this.css( type, typeof size === "string" ? size : size + "px" ); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8170 |
} |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8171 |
}; |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8172 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8173 |
}); |
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8174 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8175 |
|
|
4775601a2531
use platform and clean install files next
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8176 |
})(window); |