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
97b32d78
Commit
97b32d78
authored
Dec 28, 2010
by
jaubourg
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of github.com:jquery/jquery into deferred
parents
85f0dda5
5fd21fc0
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
105 additions
and
49 deletions
+105
-49
ajax.js
src/ajax.js
+7
-22
core.js
src/core.js
+5
-0
data.js
src/data.js
+2
-1
event.js
src/event.js
+6
-0
manipulation.js
src/manipulation.js
+2
-2
support.js
src/support.js
+1
-1
testinit.js
test/data/testinit.js
+6
-1
core.js
test/unit/core.js
+24
-22
event.js
test/unit/event.js
+35
-0
manipulation.js
test/unit/manipulation.js
+17
-0
No files found.
src/ajax.js
View file @
97b32d78
...
@@ -121,9 +121,8 @@ jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".sp
...
@@ -121,9 +121,8 @@ jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".sp
};
};
});
});
jQuery
.
extend
({
jQuery
.
each
(
[
"get"
,
"post"
],
function
(
i
,
method
)
{
jQuery
[
method
]
=
function
(
url
,
data
,
callback
,
type
)
{
get
:
function
(
url
,
data
,
callback
,
type
)
{
// shift arguments if data argument was omited
// shift arguments if data argument was omited
if
(
jQuery
.
isFunction
(
data
)
)
{
if
(
jQuery
.
isFunction
(
data
)
)
{
type
=
type
||
callback
;
type
=
type
||
callback
;
...
@@ -132,13 +131,16 @@ jQuery.extend({
...
@@ -132,13 +131,16 @@ jQuery.extend({
}
}
return
jQuery
.
ajax
({
return
jQuery
.
ajax
({
type
:
"GET"
,
type
:
method
,
url
:
url
,
url
:
url
,
data
:
data
,
data
:
data
,
success
:
callback
,
success
:
callback
,
dataType
:
type
dataType
:
type
});
});
},
};
});
jQuery
.
extend
({
getScript
:
function
(
url
,
callback
)
{
getScript
:
function
(
url
,
callback
)
{
return
jQuery
.
get
(
url
,
null
,
callback
,
"script"
);
return
jQuery
.
get
(
url
,
null
,
callback
,
"script"
);
...
@@ -148,23 +150,6 @@ jQuery.extend({
...
@@ -148,23 +150,6 @@ jQuery.extend({
return
jQuery
.
get
(
url
,
data
,
callback
,
"json"
);
return
jQuery
.
get
(
url
,
data
,
callback
,
"json"
);
},
},
post
:
function
(
url
,
data
,
callback
,
type
)
{
// shift arguments if data argument was omited
if
(
jQuery
.
isFunction
(
data
)
)
{
type
=
type
||
callback
;
callback
=
data
;
data
=
{};
}
return
jQuery
.
ajax
({
type
:
"POST"
,
url
:
url
,
data
:
data
,
success
:
callback
,
dataType
:
type
});
},
ajaxSetup
:
function
(
settings
)
{
ajaxSetup
:
function
(
settings
)
{
jQuery
.
extend
(
jQuery
.
ajaxSettings
,
settings
);
jQuery
.
extend
(
jQuery
.
ajaxSettings
,
settings
);
},
},
...
...
src/core.js
View file @
97b32d78
...
@@ -1038,6 +1038,11 @@ function doScrollCheck() {
...
@@ -1038,6 +1038,11 @@ function doScrollCheck() {
jQuery
.
ready
();
jQuery
.
ready
();
}
}
// Expose jQuery as an Asynchronous Module
if
(
typeof
define
!==
"undefined"
)
{
define
(
"jquery"
,
[],
function
()
{
return
jQuery
;
}
);
}
// Expose jQuery to the global object
// Expose jQuery to the global object
return
(
window
.
jQuery
=
window
.
$
=
jQuery
);
return
(
window
.
jQuery
=
window
.
$
=
jQuery
);
...
...
src/data.js
View file @
97b32d78
...
@@ -10,7 +10,8 @@ jQuery.extend({
...
@@ -10,7 +10,8 @@ jQuery.extend({
uuid
:
0
,
uuid
:
0
,
// Unique for each copy of jQuery on the page
// Unique for each copy of jQuery on the page
expando
:
"jQuery"
+
jQuery
.
now
(),
// Non-digits removed to match rinlinejQuery
expando
:
"jQuery"
+
(
jQuery
.
fn
.
jquery
+
Math
.
random
()
).
replace
(
/
\D
/g
,
""
),
// The following elements throw uncatchable exceptions if you
// The following elements throw uncatchable exceptions if you
// attempt to add expando properties to them.
// attempt to add expando properties to them.
...
...
src/event.js
View file @
97b32d78
...
@@ -600,6 +600,12 @@ jQuery.Event = function( src ) {
...
@@ -600,6 +600,12 @@ jQuery.Event = function( src ) {
if
(
src
&&
src
.
type
)
{
if
(
src
&&
src
.
type
)
{
this
.
originalEvent
=
src
;
this
.
originalEvent
=
src
;
this
.
type
=
src
.
type
;
this
.
type
=
src
.
type
;
// Events bubbling up the document may have been marked as prevented
// by a handler lower down the tree; reflect the correct value.
this
.
isDefaultPrevented
=
(
src
.
defaultPrevented
||
src
.
returnValue
===
false
||
src
.
getPreventDefault
&&
src
.
getPreventDefault
())
?
returnTrue
:
returnFalse
;
// Event type
// Event type
}
else
{
}
else
{
this
.
type
=
src
;
this
.
type
=
src
;
...
...
src/manipulation.js
View file @
97b32d78
...
@@ -440,12 +440,12 @@ jQuery.buildFragment = function( args, nodes, scripts ) {
...
@@ -440,12 +440,12 @@ jQuery.buildFragment = function( args, nodes, scripts ) {
var
fragment
,
cacheable
,
cacheresults
,
var
fragment
,
cacheable
,
cacheresults
,
doc
=
(
nodes
&&
nodes
[
0
]
?
nodes
[
0
].
ownerDocument
||
nodes
[
0
]
:
document
);
doc
=
(
nodes
&&
nodes
[
0
]
?
nodes
[
0
].
ownerDocument
||
nodes
[
0
]
:
document
);
// Only cache "small" (1/2 KB) strings that are associated with the main document
// Only cache "small" (1/2 KB)
HTML
strings that are associated with the main document
// Cloning options loses the selected state, so don't cache them
// Cloning options loses the selected state, so don't cache them
// IE 6 doesn't like it when you put <object> or <embed> elements in a fragment
// IE 6 doesn't like it when you put <object> or <embed> elements in a fragment
// Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache
// Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache
if
(
args
.
length
===
1
&&
typeof
args
[
0
]
===
"string"
&&
args
[
0
].
length
<
512
&&
doc
===
document
&&
if
(
args
.
length
===
1
&&
typeof
args
[
0
]
===
"string"
&&
args
[
0
].
length
<
512
&&
doc
===
document
&&
!
rnocache
.
test
(
args
[
0
]
)
&&
(
jQuery
.
support
.
checkClone
||
!
rchecked
.
test
(
args
[
0
]
))
)
{
args
[
0
].
charAt
(
0
)
===
"<"
&&
!
rnocache
.
test
(
args
[
0
]
)
&&
(
jQuery
.
support
.
checkClone
||
!
rchecked
.
test
(
args
[
0
]
))
)
{
cacheable
=
true
;
cacheable
=
true
;
cacheresults
=
jQuery
.
fragments
[
args
[
0
]
];
cacheresults
=
jQuery
.
fragments
[
args
[
0
]
];
...
...
src/support.js
View file @
97b32d78
...
@@ -147,7 +147,7 @@
...
@@ -147,7 +147,7 @@
jQuery
.
support
.
shrinkWrapBlocks
=
div
.
offsetWidth
!==
2
;
jQuery
.
support
.
shrinkWrapBlocks
=
div
.
offsetWidth
!==
2
;
}
}
div
.
innerHTML
=
"<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>"
;
div
.
innerHTML
=
"<table><tr><td style='padding:0;
border:0;
display:none'></td><td>t</td></tr></table>"
;
var
tds
=
div
.
getElementsByTagName
(
"td"
);
var
tds
=
div
.
getElementsByTagName
(
"td"
);
// Check if table cells still have offsetWidth/Height when they are set
// Check if table cells still have offsetWidth/Height when they are set
...
...
test/data/testinit.js
View file @
97b32d78
var
jQuery
=
this
.
jQuery
||
"jQuery"
,
// For testing .noConflict()
var
jQuery
=
this
.
jQuery
||
"jQuery"
,
// For testing .noConflict()
$
=
this
.
$
||
"$"
,
$
=
this
.
$
||
"$"
,
originaljQuery
=
jQuery
,
originaljQuery
=
jQuery
,
original$
=
$
;
original$
=
$
,
commonJSDefined
;
function
define
(
module
,
dependencies
,
callback
)
{
commonJSDefined
=
callback
();
}
/**
/**
* Returns an array of elements with the given IDs, eg.
* Returns an array of elements with the given IDs, eg.
...
...
test/unit/core.js
View file @
97b32d78
...
@@ -12,7 +12,9 @@ test("Basic requirements", function() {
...
@@ -12,7 +12,9 @@ test("Basic requirements", function() {
});
});
test
(
"jQuery()"
,
function
()
{
test
(
"jQuery()"
,
function
()
{
expect
(
23
);
expect
(
24
);
strictEqual
(
commonJSDefined
,
jQuery
,
"CommonJS registered (Bug #7102)"
);
// Basic constructor's behavior
// Basic constructor's behavior
...
@@ -151,7 +153,7 @@ test("selector state", function() {
...
@@ -151,7 +153,7 @@ test("selector state", function() {
test
=
jQuery
(
"#main"
).
eq
(
0
);
test
=
jQuery
(
"#main"
).
eq
(
0
);
equals
(
test
.
selector
,
"#main.slice(0,1)"
,
"#main eq Selector"
);
equals
(
test
.
selector
,
"#main.slice(0,1)"
,
"#main eq Selector"
);
equals
(
test
.
context
,
document
,
"#main eq Context"
);
equals
(
test
.
context
,
document
,
"#main eq Context"
);
var
d
=
"<div />"
;
var
d
=
"<div />"
;
equals
(
equals
(
jQuery
(
d
).
appendTo
(
jQuery
(
d
)).
selector
,
jQuery
(
d
).
appendTo
(
jQuery
(
d
)).
selector
,
...
@@ -253,38 +255,38 @@ test("isPlainObject", function() {
...
@@ -253,38 +255,38 @@ test("isPlainObject", function() {
// The use case that we want to match
// The use case that we want to match
ok
(
jQuery
.
isPlainObject
({}),
"{}"
);
ok
(
jQuery
.
isPlainObject
({}),
"{}"
);
// Not objects shouldn't be matched
// Not objects shouldn't be matched
ok
(
!
jQuery
.
isPlainObject
(
""
),
"string"
);
ok
(
!
jQuery
.
isPlainObject
(
""
),
"string"
);
ok
(
!
jQuery
.
isPlainObject
(
0
)
&&
!
jQuery
.
isPlainObject
(
1
),
"number"
);
ok
(
!
jQuery
.
isPlainObject
(
0
)
&&
!
jQuery
.
isPlainObject
(
1
),
"number"
);
ok
(
!
jQuery
.
isPlainObject
(
true
)
&&
!
jQuery
.
isPlainObject
(
false
),
"boolean"
);
ok
(
!
jQuery
.
isPlainObject
(
true
)
&&
!
jQuery
.
isPlainObject
(
false
),
"boolean"
);
ok
(
!
jQuery
.
isPlainObject
(
null
),
"null"
);
ok
(
!
jQuery
.
isPlainObject
(
null
),
"null"
);
ok
(
!
jQuery
.
isPlainObject
(
undefined
),
"undefined"
);
ok
(
!
jQuery
.
isPlainObject
(
undefined
),
"undefined"
);
// Arrays shouldn't be matched
// Arrays shouldn't be matched
ok
(
!
jQuery
.
isPlainObject
([]),
"array"
);
ok
(
!
jQuery
.
isPlainObject
([]),
"array"
);
// Instantiated objects shouldn't be matched
// Instantiated objects shouldn't be matched
ok
(
!
jQuery
.
isPlainObject
(
new
Date
),
"new Date"
);
ok
(
!
jQuery
.
isPlainObject
(
new
Date
),
"new Date"
);
var
fn
=
function
(){};
var
fn
=
function
(){};
// Functions shouldn't be matched
// Functions shouldn't be matched
ok
(
!
jQuery
.
isPlainObject
(
fn
),
"fn"
);
ok
(
!
jQuery
.
isPlainObject
(
fn
),
"fn"
);
// Again, instantiated objects shouldn't be matched
// Again, instantiated objects shouldn't be matched
ok
(
!
jQuery
.
isPlainObject
(
new
fn
),
"new fn (no methods)"
);
ok
(
!
jQuery
.
isPlainObject
(
new
fn
),
"new fn (no methods)"
);
// Makes the function a little more realistic
// Makes the function a little more realistic
// (and harder to detect, incidentally)
// (and harder to detect, incidentally)
fn
.
prototype
=
{
someMethod
:
function
(){}};
fn
.
prototype
=
{
someMethod
:
function
(){}};
// Again, instantiated objects shouldn't be matched
// Again, instantiated objects shouldn't be matched
ok
(
!
jQuery
.
isPlainObject
(
new
fn
),
"new fn"
);
ok
(
!
jQuery
.
isPlainObject
(
new
fn
),
"new fn"
);
// DOM Element
// DOM Element
ok
(
!
jQuery
.
isPlainObject
(
document
.
createElement
(
"div"
)),
"DOM Element"
);
ok
(
!
jQuery
.
isPlainObject
(
document
.
createElement
(
"div"
)),
"DOM Element"
);
// Window
// Window
ok
(
!
jQuery
.
isPlainObject
(
window
),
"window"
);
ok
(
!
jQuery
.
isPlainObject
(
window
),
"window"
);
...
@@ -298,7 +300,7 @@ test("isPlainObject", function() {
...
@@ -298,7 +300,7 @@ test("isPlainObject", function() {
document
.
body
.
removeChild
(
iframe
);
document
.
body
.
removeChild
(
iframe
);
start
();
start
();
};
};
var
doc
=
iframe
.
contentDocument
||
iframe
.
contentWindow
.
document
;
var
doc
=
iframe
.
contentDocument
||
iframe
.
contentWindow
.
document
;
doc
.
open
();
doc
.
open
();
doc
.
write
(
"<body onload='window.parent.iframeDone(Object);'>"
);
doc
.
write
(
"<body onload='window.parent.iframeDone(Object);'>"
);
...
@@ -659,7 +661,7 @@ test("jQuery.merge()", function() {
...
@@ -659,7 +661,7 @@ test("jQuery.merge()", function() {
// Fixed at [5998], #3641
// Fixed at [5998], #3641
same
(
parse
([
-
2
,
-
1
],
[
0
,
1
,
2
]),
[
-
2
,
-
1
,
0
,
1
,
2
],
"Second array including a zero (falsy)"
);
same
(
parse
([
-
2
,
-
1
],
[
0
,
1
,
2
]),
[
-
2
,
-
1
,
0
,
1
,
2
],
"Second array including a zero (falsy)"
);
// After fixing #5527
// After fixing #5527
same
(
parse
([],
[
null
,
undefined
]),
[
null
,
undefined
],
"Second array including null and undefined values"
);
same
(
parse
([],
[
null
,
undefined
]),
[
null
,
undefined
],
"Second array including null and undefined values"
);
same
(
parse
({
length
:
0
},
[
1
,
2
]),
{
length
:
2
,
0
:
1
,
1
:
2
},
"First array like"
);
same
(
parse
({
length
:
0
},
[
1
,
2
]),
{
length
:
2
,
0
:
1
,
1
:
2
},
"First array like"
);
...
@@ -694,7 +696,7 @@ test("jQuery.extend(Object, Object)", function() {
...
@@ -694,7 +696,7 @@ test("jQuery.extend(Object, Object)", function() {
equals
(
deep1
.
foo2
,
document
,
"Make sure that a deep clone was not attempted on the document"
);
equals
(
deep1
.
foo2
,
document
,
"Make sure that a deep clone was not attempted on the document"
);
ok
(
jQuery
.
extend
(
true
,
{},
nestedarray
).
arr
!==
arr
,
"Deep extend of object must clone child array"
);
ok
(
jQuery
.
extend
(
true
,
{},
nestedarray
).
arr
!==
arr
,
"Deep extend of object must clone child array"
);
// #5991
// #5991
ok
(
jQuery
.
isArray
(
jQuery
.
extend
(
true
,
{
arr
:
{}
},
nestedarray
).
arr
),
"Cloned array heve to be an Array"
);
ok
(
jQuery
.
isArray
(
jQuery
.
extend
(
true
,
{
arr
:
{}
},
nestedarray
).
arr
),
"Cloned array heve to be an Array"
);
ok
(
jQuery
.
isPlainObject
(
jQuery
.
extend
(
true
,
{
arr
:
arr
},
{
arr
:
{}
}).
arr
),
"Cloned object heve to be an plain object"
);
ok
(
jQuery
.
isPlainObject
(
jQuery
.
extend
(
true
,
{
arr
:
arr
},
{
arr
:
{}
}).
arr
),
"Cloned object heve to be an plain object"
);
...
@@ -715,13 +717,13 @@ test("jQuery.extend(Object, Object)", function() {
...
@@ -715,13 +717,13 @@ test("jQuery.extend(Object, Object)", function() {
empty
=
{};
empty
=
{};
jQuery
.
extend
(
true
,
empty
,
optionsWithCustomObject
);
jQuery
.
extend
(
true
,
empty
,
optionsWithCustomObject
);
ok
(
empty
.
foo
&&
empty
.
foo
.
date
===
customObject
,
"Custom objects copy correctly (no methods)"
);
ok
(
empty
.
foo
&&
empty
.
foo
.
date
===
customObject
,
"Custom objects copy correctly (no methods)"
);
// Makes the class a little more realistic
// Makes the class a little more realistic
myKlass
.
prototype
=
{
someMethod
:
function
(){}
};
myKlass
.
prototype
=
{
someMethod
:
function
(){}
};
empty
=
{};
empty
=
{};
jQuery
.
extend
(
true
,
empty
,
optionsWithCustomObject
);
jQuery
.
extend
(
true
,
empty
,
optionsWithCustomObject
);
ok
(
empty
.
foo
&&
empty
.
foo
.
date
===
customObject
,
"Custom objects copy correctly"
);
ok
(
empty
.
foo
&&
empty
.
foo
.
date
===
customObject
,
"Custom objects copy correctly"
);
var
ret
=
jQuery
.
extend
(
true
,
{
foo
:
4
},
{
foo
:
new
Number
(
5
)
}
);
var
ret
=
jQuery
.
extend
(
true
,
{
foo
:
4
},
{
foo
:
new
Number
(
5
)
}
);
ok
(
ret
.
foo
==
5
,
"Wrapped numbers copy correctly"
);
ok
(
ret
.
foo
==
5
,
"Wrapped numbers copy correctly"
);
...
@@ -849,10 +851,10 @@ test("jQuery.makeArray", function(){
...
@@ -849,10 +851,10 @@ test("jQuery.makeArray", function(){
test
(
"jQuery.isEmptyObject"
,
function
(){
test
(
"jQuery.isEmptyObject"
,
function
(){
expect
(
2
);
expect
(
2
);
equals
(
true
,
jQuery
.
isEmptyObject
({}),
"isEmptyObject on empty object literal"
);
equals
(
true
,
jQuery
.
isEmptyObject
({}),
"isEmptyObject on empty object literal"
);
equals
(
false
,
jQuery
.
isEmptyObject
({
a
:
1
}),
"isEmptyObject on non-empty object literal"
);
equals
(
false
,
jQuery
.
isEmptyObject
({
a
:
1
}),
"isEmptyObject on non-empty object literal"
);
// What about this ?
// What about this ?
// equals(true, jQuery.isEmptyObject(null), "isEmptyObject on null" );
// equals(true, jQuery.isEmptyObject(null), "isEmptyObject on null" );
});
});
...
@@ -878,23 +880,23 @@ test("jQuery.proxy", function(){
...
@@ -878,23 +880,23 @@ test("jQuery.proxy", function(){
test
(
"jQuery.parseJSON"
,
function
(){
test
(
"jQuery.parseJSON"
,
function
(){
expect
(
8
);
expect
(
8
);
equals
(
jQuery
.
parseJSON
(),
null
,
"Nothing in, null out."
);
equals
(
jQuery
.
parseJSON
(),
null
,
"Nothing in, null out."
);
equals
(
jQuery
.
parseJSON
(
null
),
null
,
"Nothing in, null out."
);
equals
(
jQuery
.
parseJSON
(
null
),
null
,
"Nothing in, null out."
);
equals
(
jQuery
.
parseJSON
(
""
),
null
,
"Nothing in, null out."
);
equals
(
jQuery
.
parseJSON
(
""
),
null
,
"Nothing in, null out."
);
same
(
jQuery
.
parseJSON
(
"{}"
),
{},
"Plain object parsing."
);
same
(
jQuery
.
parseJSON
(
"{}"
),
{},
"Plain object parsing."
);
same
(
jQuery
.
parseJSON
(
'{"test":1}'
),
{
"test"
:
1
},
"Plain object parsing."
);
same
(
jQuery
.
parseJSON
(
'{"test":1}'
),
{
"test"
:
1
},
"Plain object parsing."
);
same
(
jQuery
.
parseJSON
(
'
\
n{"test":1}'
),
{
"test"
:
1
},
"Make sure leading whitespaces are handled."
);
same
(
jQuery
.
parseJSON
(
'
\
n{"test":1}'
),
{
"test"
:
1
},
"Make sure leading whitespaces are handled."
);
try
{
try
{
jQuery
.
parseJSON
(
"{a:1}"
);
jQuery
.
parseJSON
(
"{a:1}"
);
ok
(
false
,
"Test malformed JSON string."
);
ok
(
false
,
"Test malformed JSON string."
);
}
catch
(
e
)
{
}
catch
(
e
)
{
ok
(
true
,
"Test malformed JSON string."
);
ok
(
true
,
"Test malformed JSON string."
);
}
}
try
{
try
{
jQuery
.
parseJSON
(
"{'a':1}"
);
jQuery
.
parseJSON
(
"{'a':1}"
);
ok
(
false
,
"Test malformed JSON string."
);
ok
(
false
,
"Test malformed JSON string."
);
...
...
test/unit/event.js
View file @
97b32d78
...
@@ -295,6 +295,41 @@ test("live/delegate immediate propagation", function() {
...
@@ -295,6 +295,41 @@ test("live/delegate immediate propagation", function() {
$p
.
undelegate
(
"click"
);
$p
.
undelegate
(
"click"
);
});
});
test
(
"bind/delegate bubbling, isDefaultPrevented (Bug #7793)"
,
function
()
{
expect
(
2
);
var
$anchor2
=
jQuery
(
"#anchor2"
),
$main
=
jQuery
(
"#main"
),
fakeClick
=
function
(
$jq
)
{
// Use a native click so we don't get jQuery simulated bubbling
if
(
document
.
createEvent
)
{
var
e
=
document
.
createEvent
(
"MouseEvents"
);
e
.
initEvent
(
"click"
,
true
,
true
);
$jq
[
0
].
dispatchEvent
(
e
);
}
else
if
(
$jq
[
0
].
click
)
{
$jq
[
0
].
click
();
// IE
}
};
$anchor2
.
click
(
function
(
e
)
{
e
.
preventDefault
();
});
$main
.
delegate
(
"#foo"
,
"click"
,
function
(
e
)
{
equals
(
e
.
isDefaultPrevented
(),
true
,
"isDefaultPrevented true passed to bubbled event"
);
});
fakeClick
(
$anchor2
);
$anchor2
.
unbind
(
"click"
);
$main
.
undelegate
(
"click"
);
$anchor2
.
click
(
function
(
e
)
{
// Let the default action occur
});
$main
.
delegate
(
"#foo"
,
"click"
,
function
(
e
)
{
equals
(
e
.
isDefaultPrevented
(),
false
,
"isDefaultPrevented false passed to bubbled event"
);
});
fakeClick
(
$anchor2
);
$anchor2
.
unbind
(
"click"
);
$main
.
undelegate
(
"click"
);
});
test
(
"bind(), iframes"
,
function
()
{
test
(
"bind(), iframes"
,
function
()
{
// events don't work with iframes, see #939 - this test fails in IE because of contentDocument
// events don't work with iframes, see #939 - this test fails in IE because of contentDocument
var
doc
=
jQuery
(
"#loadediframe"
).
contents
();
var
doc
=
jQuery
(
"#loadediframe"
).
contents
();
...
...
test/unit/manipulation.js
View file @
97b32d78
...
@@ -1247,3 +1247,20 @@ test("jQuery.cleanData", function() {
...
@@ -1247,3 +1247,20 @@ test("jQuery.cleanData", function() {
return
div
;
return
div
;
}
}
});
});
test
(
"jQuery.buildFragment - no plain-text caching (Bug #6779)"
,
function
()
{
expect
(
1
);
// DOM manipulation fails if added text matches an Object method
var
$f
=
jQuery
(
"<div />"
).
appendTo
(
"#main"
),
bad
=
[
"start-"
,
"toString"
,
"hasOwnProperty"
,
"append"
,
"here&there!"
,
"-end"
];
for
(
var
i
=
0
;
i
<
bad
.
length
;
i
++
)
{
try
{
$f
.
append
(
bad
[
i
]
);
}
catch
(
e
)
{}
}
equals
(
$f
.
text
(),
bad
.
join
(
''
),
"Cached strings that match Object properties"
);
$f
.
remove
();
});
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