| 5803 | } |
| 5804 | |
| 5805 | function cloneCopyEvent( src, dest ) { |
| 5806 | |
| 5807 | if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { |
| 5808 | return; |
| 5809 | } |
| 5810 | |
| 5811 | var internalKey = jQuery.expando, |
| 5812 | oldData = jQuery.data( src ), |
| 5813 | curData = jQuery.data( dest, oldData ); |
| 5814 | |
| 5815 | // Switch to use the internal data object, if it exists, for the next |
| 5816 | // stage of data copying |
| 5817 | if ( (oldData = oldData[ internalKey ]) ) { |
| 5818 | var events = oldData.events; |
| 5819 | curData = curData[ internalKey ] = jQuery.extend({}, oldData); |
| 5820 | |
| 5821 | if ( events ) { |
| 5822 | delete curData.handle; |
| 5823 | curData.events = {}; |
| 5824 | |
| 5825 | for ( var type in events ) { |
| 5826 | for ( var i = 0, l = events[ type ].length; i < l; i++ ) { |
| 5827 | jQuery.event.add( dest, type + ( events[ type ][ i ].namespace ? "." : "" ) + events[ type ][ i ].namespace, events[ type ][ i ], events[ type ][ i ].data ); |
| 5828 | } |
| 5829 | } |
| 5830 | } |
| 5831 | } |
| 5832 | } |
| 5833 | |
| 5834 | function cloneFixAttributes( src, dest ) { |
| 5835 | var nodeName; |