Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jquery
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
夏彬
jquery
Commits
dcf0fa50
Commit
dcf0fa50
authored
Mar 02, 2010
by
jeresig
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More changes to get jQuery in line with JSLint.
parent
8c8f685a
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
190 additions
and
185 deletions
+190
-185
ajax.js
src/ajax.js
+130
-126
core.js
src/core.js
+6
-4
css.js
src/css.js
+1
-1
effects.js
src/effects.js
+11
-11
event.js
src/event.js
+9
-9
manipulation.js
src/manipulation.js
+8
-8
support.js
src/support.js
+2
-2
traversing.js
src/traversing.js
+2
-1
ajax.js
test/unit/ajax.js
+21
-23
No files found.
src/ajax.js
View file @
dcf0fa50
...
...
@@ -203,11 +203,10 @@ jQuery.extend({
etag
:
{},
ajax
:
function
(
origSettings
)
{
var
s
=
jQuery
.
extend
(
true
,
{},
jQuery
.
ajaxSettings
,
origSettings
);
var
jsonp
,
status
,
data
,
callbackContext
=
origSettings
&&
origSettings
.
context
||
s
,
type
=
s
.
type
.
toUpperCase
();
var
s
=
jQuery
.
extend
(
true
,
{},
jQuery
.
ajaxSettings
,
origSettings
),
jsonp
,
status
,
data
,
type
=
s
.
type
.
toUpperCase
();
s
.
context
=
origSettings
&&
origSettings
.
context
||
s
;
// convert data if not already a string
if
(
s
.
data
&&
s
.
processData
&&
typeof
s
.
data
!==
"string"
)
{
...
...
@@ -244,14 +243,14 @@ jQuery.extend({
// Handle JSONP-style loading
window
[
jsonp
]
=
window
[
jsonp
]
||
function
(
tmp
)
{
data
=
tmp
;
success
(
);
complete
(
);
jQuery
.
ajax
.
handleSuccess
(
s
,
xhr
,
status
,
data
);
jQuery
.
ajax
.
handleComplete
(
s
,
xhr
,
status
,
data
);
// Garbage collect
window
[
jsonp
]
=
undefined
;
try
{
delete
window
[
jsonp
];
}
catch
(
e
)
{}
}
catch
(
jsonpError
)
{}
if
(
head
)
{
head
.
removeChild
(
script
);
...
...
@@ -279,7 +278,7 @@ jQuery.extend({
}
// Watch for a new set of requests
if
(
s
.
global
&&
jQuery
.
active
++
===
0
)
{
if
(
s
.
global
&&
jQuery
.
a
jax
.
a
ctive
++
===
0
)
{
jQuery
.
event
.
trigger
(
"ajaxStart"
);
}
...
...
@@ -306,8 +305,8 @@ jQuery.extend({
if
(
!
done
&&
(
!
this
.
readyState
||
this
.
readyState
===
"loaded"
||
this
.
readyState
===
"complete"
)
)
{
done
=
true
;
success
(
);
complete
(
);
jQuery
.
ajax
.
handleSuccess
(
s
,
xhr
,
status
,
data
);
jQuery
.
ajax
.
handleComplete
(
s
,
xhr
,
status
,
data
);
// Handle memory leak in IE
script
.
onload
=
script
.
onreadystatechange
=
null
;
...
...
@@ -371,12 +370,12 @@ jQuery.extend({
xhr
.
setRequestHeader
(
"Accept"
,
s
.
dataType
&&
s
.
accepts
[
s
.
dataType
]
?
s
.
accepts
[
s
.
dataType
]
+
", */*"
:
s
.
accepts
.
_default
);
}
catch
(
e
)
{}
}
catch
(
headerError
)
{}
// Allow custom headers/mimetypes and early abort
if
(
s
.
beforeSend
&&
s
.
beforeSend
.
call
(
callbackC
ontext
,
xhr
,
s
)
===
false
)
{
if
(
s
.
beforeSend
&&
s
.
beforeSend
.
call
(
s
.
c
ontext
,
xhr
,
s
)
===
false
)
{
// Handle the global AJAX counter
if
(
s
.
global
&&
!
--
jQuery
.
active
)
{
if
(
s
.
global
&&
jQuery
.
ajax
.
active
--
===
1
)
{
jQuery
.
event
.
trigger
(
"ajaxStop"
);
}
...
...
@@ -386,7 +385,7 @@ jQuery.extend({
}
if
(
s
.
global
)
{
contextTrigger
(
"ajaxSend"
,
[
xhr
,
s
]
);
jQuery
.
ajax
.
triggerGlobal
(
s
,
"ajaxSend"
,
[
xhr
,
s
]
);
}
// Wait for a response to come back
...
...
@@ -396,7 +395,7 @@ jQuery.extend({
// Opera doesn't call onreadystatechange before this point
// so we simulate the call
if
(
!
requestDone
)
{
complete
(
);
jQuery
.
ajax
.
handleComplete
(
s
,
xhr
,
status
,
data
);
}
requestDone
=
true
;
...
...
@@ -411,9 +410,9 @@ jQuery.extend({
status
=
isTimeout
===
"timeout"
?
"timeout"
:
!
jQuery
.
httpSuccess
(
xhr
)
?
!
jQuery
.
ajax
.
httpSuccess
(
xhr
)
?
"error"
:
s
.
ifModified
&&
jQuery
.
httpNotModified
(
xhr
,
s
.
url
)
?
s
.
ifModified
&&
jQuery
.
ajax
.
httpNotModified
(
xhr
,
s
.
url
)
?
"notmodified"
:
"success"
;
...
...
@@ -423,10 +422,10 @@ jQuery.extend({
// Watch for, and catch, XML document parse errors
try
{
// process the data (runs the xml through httpData regardless of callback)
data
=
jQuery
.
httpData
(
xhr
,
s
.
dataType
,
s
);
}
catch
(
err
)
{
data
=
jQuery
.
ajax
.
httpData
(
xhr
,
s
.
dataType
,
s
);
}
catch
(
parserError
)
{
status
=
"parsererror"
;
errMsg
=
er
r
;
errMsg
=
parserErro
r
;
}
}
...
...
@@ -434,14 +433,14 @@ jQuery.extend({
if
(
status
===
"success"
||
status
===
"notmodified"
)
{
// JSONP handles its own success callback
if
(
!
jsonp
)
{
success
(
);
jQuery
.
ajax
.
handleSuccess
(
s
,
xhr
,
status
,
data
);
}
}
else
{
jQuery
.
handleError
(
s
,
xhr
,
status
,
errMsg
);
jQuery
.
ajax
.
handleError
(
s
,
xhr
,
status
,
errMsg
);
}
// Fire the complete handlers
complete
(
);
jQuery
.
ajax
.
handleComplete
(
s
,
xhr
,
status
,
data
);
if
(
isTimeout
===
"timeout"
)
{
xhr
.
abort
();
...
...
@@ -465,7 +464,7 @@ jQuery.extend({
onreadystatechange
(
"abort"
);
};
}
catch
(
e
)
{
}
}
catch
(
abortError
)
{
}
// Timeout checker
if
(
s
.
async
&&
s
.
timeout
>
0
)
{
...
...
@@ -480,10 +479,12 @@ jQuery.extend({
// Send the data
try
{
xhr
.
send
(
type
===
"POST"
||
type
===
"PUT"
||
type
===
"DELETE"
?
s
.
data
:
null
);
}
catch
(
e
)
{
jQuery
.
handleError
(
s
,
xhr
,
null
,
e
);
}
catch
(
sendError
)
{
jQuery
.
ajax
.
handleError
(
s
,
xhr
,
null
,
e
);
// Fire the complete handlers
complete
(
);
jQuery
.
ajax
.
handleComplete
(
s
,
xhr
,
status
,
data
);
}
// firefox 1.5 doesn't fire statechange for sync requests
...
...
@@ -491,57 +492,125 @@ jQuery.extend({
onreadystatechange
();
}
function
success
()
{
// If a local callback was specified, fire it and pass it the data
if
(
s
.
success
)
{
s
.
success
.
call
(
callbackContext
,
data
,
status
,
xhr
);
}
// return XMLHttpRequest to allow aborting the request etc.
return
xhr
;
},
// Fire the global callback
if
(
s
.
global
)
{
contextTrigger
(
"ajaxSuccess"
,
[
xhr
,
s
]
);
// Serialize an array of form elements or a set of
// key/values into a query string
param
:
function
(
a
,
traditional
)
{
var
s
=
[],
add
=
function
(
key
,
value
)
{
// If value is a function, invoke it and return its value
value
=
jQuery
.
isFunction
(
value
)
?
value
()
:
value
;
s
[
s
.
length
]
=
encodeURIComponent
(
key
)
+
"="
+
encodeURIComponent
(
value
);
};
// Set traditional to true for jQuery <= 1.3.2 behavior.
if
(
traditional
===
undefined
)
{
traditional
=
jQuery
.
ajaxSettings
.
traditional
;
}
// If an array was passed in, assume that it is an array of form elements.
if
(
jQuery
.
isArray
(
a
)
||
a
.
jquery
)
{
// Serialize the form elements
jQuery
.
each
(
a
,
function
()
{
add
(
this
.
name
,
this
.
value
);
});
}
else
{
// If traditional, encode the "old" way (the way 1.3.2 or older
// did it), otherwise encode params recursively.
for
(
var
prefix
in
a
)
{
buildParams
(
prefix
,
a
[
prefix
],
traditional
,
add
);
}
}
function
complete
()
{
// Process result
if
(
s
.
complete
)
{
s
.
complete
.
call
(
callbackContext
,
xhr
,
status
);
}
// Return the resulting serialization
return
s
.
join
(
"&"
).
replace
(
r20
,
"+"
);
}
});
// The request was completed
if
(
s
.
global
)
{
contextTrigger
(
"ajaxComplete"
,
[
xhr
,
s
]
);
}
function
buildParams
(
prefix
,
obj
,
traditional
,
add
)
{
if
(
jQuery
.
isArray
(
obj
)
)
{
// Serialize array item.
jQuery
.
each
(
obj
,
function
(
i
,
v
)
{
if
(
traditional
||
/
\[\]
$/
.
test
(
prefix
)
)
{
// Treat each array item as a scalar.
add
(
prefix
,
v
);
// Handle the global AJAX counter
if
(
s
.
global
&&
!
--
jQuery
.
active
)
{
jQuery
.
event
.
trigger
(
"ajaxStop"
);
}
else
{
// If array item is non-scalar (array or object), encode its
// numeric index to resolve deserialization ambiguity issues.
// Note that rack (as of 1.0.0) can't currently deserialize
// nested arrays properly, and attempting to do so may cause
// a server error. Possible fixes are to modify rack's
// deserialization algorithm or to provide an option or flag
// to force array serialization to be shallow.
buildParams
(
prefix
+
"["
+
(
typeof
v
===
"object"
||
jQuery
.
isArray
(
v
)
?
i
:
""
)
+
"]"
,
v
,
traditional
,
add
);
}
}
function
contextTrigger
(
type
,
args
)
{
(
s
.
context
?
jQuery
(
s
.
context
)
:
jQuery
.
event
).
trigger
(
type
,
args
);
}
});
}
else
if
(
!
traditional
&&
obj
!=
null
&&
typeof
obj
===
"object"
)
{
// Serialize object item.
jQuery
.
each
(
obj
,
function
(
k
,
v
)
{
buildParams
(
prefix
+
"["
+
k
+
"]"
,
v
,
traditional
,
add
);
});
}
else
{
// Serialize scalar item.
add
(
prefix
,
obj
);
}
}
// return XMLHttpRequest to allow aborting the request etc.
return
xhr
;
},
jQuery
.
extend
(
jQuery
.
ajax
,
{
// Counter for holding the number of active queries
active
:
0
,
handleError
:
function
(
s
,
xhr
,
status
,
e
)
{
// If a local callback was specified, fire it
if
(
s
.
error
)
{
s
.
error
.
call
(
s
.
context
||
s
,
xhr
,
status
,
e
);
s
.
error
.
call
(
s
.
context
,
xhr
,
status
,
e
);
}
// Fire the global callback
if
(
s
.
global
)
{
(
s
.
context
?
jQuery
(
s
.
context
)
:
jQuery
.
event
).
trigger
(
"ajaxError"
,
[
xhr
,
s
,
e
]
);
jQuery
.
ajax
.
triggerGlobal
(
s
,
"ajaxError"
,
[
xhr
,
s
,
e
]
);
}
},
// Counter for holding the number of active queries
active
:
0
,
handleSuccess
:
function
(
s
,
xhr
,
status
,
data
)
{
// If a local callback was specified, fire it and pass it the data
if
(
s
.
success
)
{
s
.
success
.
call
(
s
.
context
,
data
,
status
,
xhr
);
}
// Fire the global callback
if
(
s
.
global
)
{
jQuery
.
ajax
.
triggerGlobal
(
s
,
"ajaxSuccess"
,
[
xhr
,
s
]
);
}
},
handleComplete
:
function
(
s
,
xhr
,
status
)
{
// Process result
if
(
s
.
complete
)
{
s
.
complete
.
call
(
s
.
context
,
xhr
,
status
);
}
// The request was completed
if
(
s
.
global
)
{
jQuery
.
ajax
.
triggerGlobal
(
s
,
"ajaxComplete"
,
[
xhr
,
s
]
);
}
// Handle the global AJAX counter
if
(
s
.
global
&&
jQuery
.
ajax
.
active
--
===
1
)
{
jQuery
.
event
.
trigger
(
"ajaxStop"
);
}
},
triggerGlobal
:
function
(
s
,
type
,
args
)
{
(
s
.
context
&&
s
.
context
.
url
==
null
?
jQuery
(
s
.
context
)
:
jQuery
.
event
).
trigger
(
type
,
args
);
},
// Determines if an XMLHttpRequest was successful or not
httpSuccess
:
function
(
xhr
)
{
...
...
@@ -601,71 +670,6 @@ jQuery.extend({
}
return
data
;
},
// Serialize an array of form elements or a set of
// key/values into a query string
param
:
function
(
a
,
traditional
)
{
var
s
=
[];
// Set traditional to true for jQuery <= 1.3.2 behavior.
if
(
traditional
===
undefined
)
{
traditional
=
jQuery
.
ajaxSettings
.
traditional
;
}
// If an array was passed in, assume that it is an array of form elements.
if
(
jQuery
.
isArray
(
a
)
||
a
.
jquery
)
{
// Serialize the form elements
jQuery
.
each
(
a
,
function
()
{
add
(
this
.
name
,
this
.
value
);
});
}
else
{
// If traditional, encode the "old" way (the way 1.3.2 or older
// did it), otherwise encode params recursively.
for
(
var
prefix
in
a
)
{
buildParams
(
prefix
,
a
[
prefix
]
);
}
}
// Return the resulting serialization
return
s
.
join
(
"&"
).
replace
(
r20
,
"+"
);
function
buildParams
(
prefix
,
obj
)
{
if
(
jQuery
.
isArray
(
obj
)
)
{
// Serialize array item.
jQuery
.
each
(
obj
,
function
(
i
,
v
)
{
if
(
traditional
||
/
\[\]
$/
.
test
(
prefix
)
)
{
// Treat each array item as a scalar.
add
(
prefix
,
v
);
}
else
{
// If array item is non-scalar (array or object), encode its
// numeric index to resolve deserialization ambiguity issues.
// Note that rack (as of 1.0.0) can't currently deserialize
// nested arrays properly, and attempting to do so may cause
// a server error. Possible fixes are to modify rack's
// deserialization algorithm or to provide an option or flag
// to force array serialization to be shallow.
buildParams
(
prefix
+
"["
+
(
typeof
v
===
"object"
||
jQuery
.
isArray
(
v
)
?
i
:
""
)
+
"]"
,
v
);
}
});
}
else
if
(
!
traditional
&&
obj
!=
null
&&
typeof
obj
===
"object"
)
{
// Serialize object item.
jQuery
.
each
(
obj
,
function
(
k
,
v
)
{
buildParams
(
prefix
+
"["
+
k
+
"]"
,
v
);
});
}
else
{
// Serialize scalar item.
add
(
prefix
,
obj
);
}
}
function
add
(
key
,
value
)
{
// If value is a function, invoke it and return its value
value
=
jQuery
.
isFunction
(
value
)
?
value
()
:
value
;
s
[
s
.
length
]
=
encodeURIComponent
(
key
)
+
"="
+
encodeURIComponent
(
value
);
}
}
});
src/core.js
View file @
dcf0fa50
...
...
@@ -18,7 +18,7 @@ var jQuery = function( selector, context ) {
// A simple way to check for HTML strings or ID strings
// (both of which we optimize for)
quickExpr
=
/^
[^
<
]
*
(
<
[\w\W]
+>
)[^
>
]
*$|^#
([\w
-
]
+
)
$/
,
quickExpr
=
/^
[^
<
]
*
(
<
[\w\W]
+>
)[^
>
]
*$|^#
([\w
\
-]
+
)
$/
,
// Is it a simple selector
isSimple
=
/^.
[^
:#
\[\.
,
]
*$/
,
...
...
@@ -623,12 +623,14 @@ jQuery.extend({
},
grep
:
function
(
elems
,
callback
,
inv
)
{
var
ret
=
[];
var
ret
=
[],
retVal
;
inv
=
!!
inv
;
// Go through the array, only saving the items
// that pass the validator function
for
(
var
i
=
0
,
length
=
elems
.
length
;
i
<
length
;
i
++
)
{
if
(
!
inv
!==
!
callback
(
elems
[
i
],
i
)
)
{
retVal
=
!!
callback
(
elems
[
i
],
i
);
if
(
inv
!==
retVal
)
{
ret
.
push
(
elems
[
i
]
);
}
}
...
...
@@ -748,7 +750,7 @@ function doScrollCheck() {
// If IE is used, use the trick by Diego Perini
// http://javascript.nwbox.com/IEContentLoaded/
document
.
documentElement
.
doScroll
(
"left"
);
}
catch
(
error
)
{
}
catch
(
e
)
{
setTimeout
(
doScrollCheck
,
1
);
return
;
}
...
...
src/css.js
View file @
dcf0fa50
...
...
@@ -186,7 +186,7 @@ jQuery.extend({
callback
.
call
(
elem
);
// Revert the old values
for
(
var
name
in
options
)
{
for
(
name
in
options
)
{
elem
.
style
[
name
]
=
old
[
name
];
}
}
...
...
src/effects.js
View file @
dcf0fa50
var
elemdisplay
=
{},
rfxtypes
=
/toggle|show|hide/
,
rfxnum
=
/^
([
+
-
]
=
)?([\d
+-.
]
+
)(
.*
)
$/
,
rfxnum
=
/^
([
+
\-]
=
)?([\d
+.
\-
]
+
)(
.*
)
$/
,
timerId
,
fxAttrs
=
[
// height animations
...
...
@@ -221,6 +221,16 @@ jQuery.fn.extend({
});
function
genFx
(
type
,
num
)
{
var
obj
=
{};
jQuery
.
each
(
fxAttrs
.
concat
.
apply
([],
fxAttrs
.
slice
(
0
,
num
)),
function
()
{
obj
[
this
]
=
type
;
});
return
obj
;
}
// Generate shortcuts for custom animations
jQuery
.
each
({
slideDown
:
genFx
(
"show"
,
1
),
...
...
@@ -470,13 +480,3 @@ if ( jQuery.expr && jQuery.expr.filters ) {
}).
length
;
};
}
function
genFx
(
type
,
num
)
{
var
obj
=
{};
jQuery
.
each
(
fxAttrs
.
concat
.
apply
([],
fxAttrs
.
slice
(
0
,
num
)),
function
()
{
obj
[
this
]
=
type
;
});
return
obj
;
}
src/event.js
View file @
dcf0fa50
...
...
@@ -146,7 +146,7 @@ jQuery.event = {
handler = returnFalse;
}
var ret, type, fn, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType,
var ret, type, fn,
j,
i = 0, all, namespaces, namespace, special, eventType, handleObj, origType,
elemData = jQuery.data( elem ),
events = elemData && elemData.events;
...
...
@@ -197,7 +197,7 @@ jQuery.event = {
}
if ( !handler ) {
for (
var
j = 0; j < eventType.length; j++ ) {
for ( j = 0; j < eventType.length; j++ ) {
handleObj = eventType[ j ];
if ( all || namespace.test( handleObj.namespace ) ) {
...
...
@@ -211,7 +211,7 @@ jQuery.event = {
special = jQuery.event.special[ type ] || {};
for (
var
j = pos || 0; j < eventType.length; j++ ) {
for ( j = pos || 0; j < eventType.length; j++ ) {
handleObj = eventType[ j ];
if ( handler.guid === handleObj.guid ) {
...
...
@@ -329,7 +329,7 @@ jQuery.event = {
}
// prevent IE from throwing an error for some elements with some event types, see #3533
} catch (
e
) {}
} catch (
inlineError
) {}
if ( !event.isPropagationStopped() && parent ) {
jQuery.event.trigger( event, data, parent, true );
...
...
@@ -356,7 +356,7 @@ jQuery.event = {
}
// prevent IE from throwing an error for some elements with some event types, see #3533
} catch (
e
) {}
} catch (
triggerError
) {}
if ( old ) {
target[ "
on
" + type ] = old;
...
...
@@ -368,9 +368,9 @@ jQuery.event = {
},
handle: function( event ) {
var all, handlers, namespaces, namespace, events;
var all, handlers, namespaces, namespace, events
, args = jQuery.makeArray( arguments )
;
event = arg
ument
s[0] = jQuery.event.fix( event || window.event );
event = args[0] = jQuery.event.fix( event || window.event );
event.currentTarget = this;
// Namespaced event handlers
...
...
@@ -400,7 +400,7 @@ jQuery.event = {
event.data = handleObj.data;
event.handleObj = handleObj;
var ret = handleObj.handler.apply( this, arg
ument
s );
var ret = handleObj.handler.apply( this, args );
if ( ret !== undefined ) {
event.result = ret;
...
...
@@ -1080,7 +1080,7 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl
// Handle event binding
jQuery.fn[ name ] = function( data, fn ) {
if ( fn ==
undefined
) {
if ( fn ==
null
) {
fn = data;
data = null;
}
...
...
src/manipulation.js
View file @
dcf0fa50
...
...
@@ -357,16 +357,16 @@ jQuery.fn.extend({
}
return
this
;
function
root
(
elem
,
cur
)
{
return
jQuery
.
nodeName
(
elem
,
"table"
)
?
(
elem
.
getElementsByTagName
(
"tbody"
)[
0
]
||
elem
.
appendChild
(
elem
.
ownerDocument
.
createElement
(
"tbody"
)))
:
elem
;
}
}
});
function
root
(
elem
,
cur
)
{
return
jQuery
.
nodeName
(
elem
,
"table"
)
?
(
elem
.
getElementsByTagName
(
"tbody"
)[
0
]
||
elem
.
appendChild
(
elem
.
ownerDocument
.
createElement
(
"tbody"
)))
:
elem
;
}
function
cloneCopyEvent
(
orig
,
ret
)
{
var
i
=
0
;
...
...
@@ -530,7 +530,7 @@ jQuery.extend({
}
if
(
fragment
)
{
for
(
var
i
=
0
;
ret
[
i
];
i
++
)
{
for
(
i
=
0
;
ret
[
i
];
i
++
)
{
if
(
scripts
&&
jQuery
.
nodeName
(
ret
[
i
],
"script"
)
&&
(
!
ret
[
i
].
type
||
ret
[
i
].
type
.
toLowerCase
()
===
"text/javascript"
)
)
{
scripts
.
push
(
ret
[
i
].
parentNode
?
ret
[
i
].
parentNode
.
removeChild
(
ret
[
i
]
)
:
ret
[
i
]
);
...
...
src/support.js
View file @
dcf0fa50
...
...
@@ -69,7 +69,7 @@
script
.
type
=
"text/javascript"
;
try
{
script
.
appendChild
(
document
.
createTextNode
(
"window."
+
id
+
"=1;"
)
);
}
catch
(
e
)
{}
}
catch
(
scriptError
)
{}
root
.
insertBefore
(
script
,
root
.
firstChild
);
...
...
@@ -86,7 +86,7 @@
try
{
delete
script
.
test
;
}
catch
(
e
)
{
}
catch
(
expandoError
)
{
jQuery
.
support
.
deleteExpando
=
false
;
}
...
...
src/traversing.js
View file @
dcf0fa50
...
...
@@ -7,7 +7,8 @@ var runtil = /Until$/,
var
winnow
=
function
(
elements
,
qualifier
,
keep
)
{
if
(
jQuery
.
isFunction
(
qualifier
)
)
{
return
jQuery
.
grep
(
elements
,
function
(
elem
,
i
)
{
return
!!
qualifier
.
call
(
elem
,
i
,
elem
)
===
keep
;
var
retVal
=
!!
qualifier
.
call
(
elem
,
i
,
elem
);
return
retVal
===
keep
;
});
}
else
if
(
qualifier
.
nodeType
)
{
...
...
test/unit/ajax.js
View file @
dcf0fa50
...
...
@@ -14,30 +14,28 @@ test("jQuery.ajax() - success callbacks", function() {
stop
();
setTimeout
(
function
(){
jQuery
(
'#foo'
).
ajaxStart
(
function
(){
ok
(
true
,
"ajaxStart"
);
}).
ajaxStop
(
function
(){
ok
(
true
,
"ajaxStop"
);
start
();
}).
ajaxSend
(
function
(){
ok
(
true
,
"ajaxSend"
);
}).
ajaxComplete
(
function
(){
ok
(
true
,
"ajaxComplete"
);
}).
ajaxError
(
function
(){
ok
(
false
,
"ajaxError"
);
}).
ajaxSuccess
(
function
(){
ok
(
true
,
"ajaxSuccess"
);
});
jQuery
(
'#foo'
).
ajaxStart
(
function
(){
ok
(
true
,
"ajaxStart"
);
}).
ajaxStop
(
function
(){
ok
(
true
,
"ajaxStop"
);
start
();
}).
ajaxSend
(
function
(){
ok
(
true
,
"ajaxSend"
);
}).
ajaxComplete
(
function
(){
ok
(
true
,
"ajaxComplete"
);
}).
ajaxError
(
function
(){
ok
(
false
,
"ajaxError"
);
}).
ajaxSuccess
(
function
(){
ok
(
true
,
"ajaxSuccess"
);
});
jQuery
.
ajax
({
url
:
url
(
"data/name.html"
),
beforeSend
:
function
(){
ok
(
true
,
"beforeSend"
);
},
success
:
function
(){
ok
(
true
,
"success"
);
},
error
:
function
(){
ok
(
false
,
"error"
);
},
complete
:
function
(){
ok
(
true
,
"complete"
);
}
});
},
13
);
jQuery
.
ajax
({
url
:
url
(
"data/name.html"
),
beforeSend
:
function
(){
ok
(
true
,
"beforeSend"
);
},
success
:
function
(){
ok
(
true
,
"success"
);
},
error
:
function
(){
ok
(
false
,
"error"
);
},
complete
:
function
(){
ok
(
true
,
"complete"
);
}
});
});
test
(
"jQuery.ajax() - error callbacks"
,
function
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment