| 87 | } |
| 88 | |
| 89 | function cloneCopyEvent( src, dest ) { |
| 90 | var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; |
| 91 | |
| 92 | if ( dest.nodeType !== 1 ) { |
| 93 | return; |
| 94 | } |
| 95 | |
| 96 | // 1. Copy private data: events, handlers, etc. |
| 97 | if ( data_priv.hasData( src ) ) { |
| 98 | pdataOld = data_priv.access( src ); |
| 99 | pdataCur = data_priv.set( dest, pdataOld ); |
| 100 | events = pdataOld.events; |
| 101 | |
| 102 | if ( events ) { |
| 103 | delete pdataCur.handle; |
| 104 | pdataCur.events = {}; |
| 105 | |
| 106 | for ( type in events ) { |
| 107 | for ( i = 0, l = events[ type ].length; i < l; i++ ) { |
| 108 | jQuery.event.add( dest, type, events[ type ][ i ] ); |
| 109 | } |
| 110 | } |
| 111 | } |
| 112 | } |
| 113 | |
| 114 | // 2. Copy user data |
| 115 | if ( data_user.hasData( src ) ) { |
| 116 | udataOld = data_user.access( src ); |
| 117 | udataCur = jQuery.extend( {}, udataOld ); |
| 118 | |
| 119 | data_user.set( dest, udataCur ); |
| 120 | } |
| 121 | } |
| 122 | |
| 123 | function getAll( context, tag ) { |
| 124 | var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) : |