Bug Tracker

Ticket #2997: clone[5790].diff

File clone[5790].diff, 1.1 KB (added by flesler, 14 years ago)

This is the patch, but it breaks many many tests :(

  • core.js

     
    274274        clone: function( events ) {
    275275                // Do the clone
    276276                var ret = this.map(function(){
    277                         if ( jQuery.browser.msie && !jQuery.isXMLDoc(this) ) {
     277                        return jQuery.browser.msie && !jQuery.isXMLDoc(this) ?
    278278                                // IE copies events bound via attachEvent when
    279279                                // using cloneNode. Calling detachEvent on the
    280280                                // clone will also remove the events from the orignal
     
    283283                                // attributes in IE that are actually only stored
    284284                                // as properties will not be copied (such as the
    285285                                // the name attribute on an input).
    286                                 var clone = this.cloneNode(true),
    287                                         container = document.createElement("div");
    288                                 container.appendChild(clone);
    289                                 return jQuery.clean([container.innerHTML])[0];
    290                         } else
    291                                 return this.cloneNode(true);
     286                                jQuery.clean([this.outerHTML], this)[0] :
     287                                // W3C
     288                                this.cloneNode(true);
    292289                });
    293290
    294291                // Need to set the expando to null on the cloned set if it exists