Skip to content
Permalink
Browse files

fix clone(true) for IE

  • Loading branch information
brandonaaron committed Sep 13, 2007
1 parent 08a6acc commit 500ff12d5da5e0d454663203101d65c9ed37cffa
Showing with 10 additions and 4 deletions.
  1. +10 −4 src/core.js
@@ -233,17 +233,23 @@ jQuery.fn = jQuery.prototype = {
var ret = this.map(function(){
return this.outerHTML ? jQuery(this.outerHTML)[0] : this.cloneNode(true);
});

if (events === true) {
var clone = ret.find("*").andSelf();

// Need to set the expando to null on the cloned set if it exists
// removeData doesn't work here, IE removes it from the original as well
// this is primarily for IE but the data expando shouldn't be copied over in any browser
var clone = ret.find("*").andSelf().each(function(){
if ( this[ expando ] != undefined )
this[ expando ] = null;
});

// Copy the events from the original to the clone
if (events === true)
this.find("*").andSelf().each(function(i) {
var events = jQuery.data(this, "events");
for ( var type in events )
for ( var handler in events[type] )
jQuery.event.add(clone[i], type, events[type][handler], events[type][handler].data);
});
}

// Return the cloned set
return ret;

0 comments on commit 500ff12

Please sign in to comment.
You can’t perform that action at this time.