| 4955 | } |
| 4956 | |
| 4957 | function cloneCopyEvent( src, dest ) { |
| 4958 | var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; |
| 4959 | |
| 4960 | if ( dest.nodeType !== 1 ) { |
| 4961 | return; |
| 4962 | } |
| 4963 | |
| 4964 | // 1. Copy private data: events, handlers, etc. |
| 4965 | if ( data_priv.hasData( src ) ) { |
| 4966 | pdataOld = data_priv.access( src ); |
| 4967 | pdataCur = data_priv.set( dest, pdataOld ); |
| 4968 | events = pdataOld.events; |
| 4969 | |
| 4970 | if ( events ) { |
| 4971 | delete pdataCur.handle; |
| 4972 | pdataCur.events = {}; |
| 4973 | |
| 4974 | for ( type in events ) { |
| 4975 | for ( i = 0, l = events[ type ].length; i < l; i++ ) { |
| 4976 | jQuery.event.add( dest, type, events[ type ][ i ] ); |
| 4977 | } |
| 4978 | } |
| 4979 | } |
| 4980 | } |
| 4981 | |
| 4982 | // 2. Copy user data |
| 4983 | if ( data_user.hasData( src ) ) { |
| 4984 | udataOld = data_user.access( src ); |
| 4985 | udataCur = jQuery.extend( {}, udataOld ); |
| 4986 | |
| 4987 | data_user.set( dest, udataCur ); |
| 4988 | } |
| 4989 | } |
| 4990 | |
| 4991 | function getAll( context, tag ) { |
| 4992 | var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) : |