git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix #7717 and #7165. Thanks to dmethvin and iliakan for their help fixing these issues.
[jquery.git]
/
src
/
manipulation.js
diff --git
a/src/manipulation.js
b/src/manipulation.js
index
24409d2
..
c23f62e
100644
(file)
--- a/
src/manipulation.js
+++ b/
src/manipulation.js
@@
-373,12
+373,12
@@
function cloneCopyEvent(orig, ret) {
var i = 0;
ret.each(function() {
var i = 0;
ret.each(function() {
- if ( this.nodeType !== 1 || this.nodeName !== (orig[i] && orig[i].nodeName) ) {
+ if ( this.nodeType !== 1 || this.nodeName !== (orig[i] && orig[i].nodeName) || !jQuery.hasData(orig[i]) ) {
return;
}
var oldData = jQuery.data( orig[i++] ),
return;
}
var oldData = jQuery.data( orig[i++] ),
- curData = jQuery.data( this, oldData ),
+ curData = jQuery.data( this, jQuery.extend(true, {}, oldData) ),
events = oldData && oldData.events;
if ( events ) {
events = oldData && oldData.events;
if ( events ) {
@@
-415,17
+415,15
@@
function cloneFixAttributes(src, dest) {
// attribute) to identify the type of content to display
if ( nodeName === "object" ) {
dest.outerHTML = src.outerHTML;
// attribute) to identify the type of content to display
if ( nodeName === "object" ) {
dest.outerHTML = src.outerHTML;
- }
- // IE6-? fails to persist the checked state of a cloned checkbox
+ // IE6-8 fails to persist the checked state of a cloned checkbox
// or radio button
// or radio button
- else if ( nodeName === "input" && src.checked ) {
+ } else if ( nodeName === "input" && src.checked ) {
dest.defaultChecked = dest.checked = src.checked;
dest.defaultChecked = dest.checked = src.checked;
- }
- // IE6-? fails to return the selected option to the default selected
+ // IE6-8 fails to return the selected option to the default selected
// state when cloning options
// state when cloning options
- else if ( nodeName === "option" ) {
+ } else if ( nodeName === "option" ) {
dest.selected = src.defaultSelected;
}
dest.selected = src.defaultSelected;
}