| 5388 | } |
| 5389 | |
| 5390 | function cloneCopyEvent( src, dest ) { |
| 5391 | |
| 5392 | if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { |
| 5393 | return; |
| 5394 | } |
| 5395 | |
| 5396 | var type, i, l, |
| 5397 | oldData = jQuery._data( src ), |
| 5398 | curData = jQuery._data( dest, oldData ), |
| 5399 | events = oldData.events; |
| 5400 | |
| 5401 | if ( events ) { |
| 5402 | delete curData.handle; |
| 5403 | curData.events = {}; |
| 5404 | |
| 5405 | for ( type in events ) { |
| 5406 | for ( i = 0, l = events[ type ].length; i < l; i++ ) { |
| 5407 | jQuery.event.add( dest, type, events[ type ][ i ] ); |
| 5408 | } |
| 5409 | } |
| 5410 | } |
| 5411 | |
| 5412 | // make the cloned public data object a copy from the original |
| 5413 | if ( curData.data ) { |
| 5414 | curData.data = jQuery.extend( {}, curData.data ); |
| 5415 | } |
| 5416 | } |
| 5417 | |
| 5418 | function fixCloneNodeIssues( src, dest ) { |
| 5419 | var nodeName, e, data; |