Fix #7717 and #7165. Thanks to dmethvin and iliakan for their help fixing these issues.
[jquery.git] / src / manipulation.js
index 7dea349..c23f62e 100644 (file)
@@ -373,12 +373,12 @@ function cloneCopyEvent(orig, ret) {
        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++] ),
-                       curData = jQuery.data( this, oldData ),
+                       curData = jQuery.data( this, jQuery.extend(true, {}, oldData) ),
                        events = oldData && oldData.events;
 
                if ( events ) {