| 4910 | } |
| 4911 | |
| 4912 | function cloneCopyEvent( src, dest ) { |
| 4913 | var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; |
| 4914 | |
| 4915 | if ( dest.nodeType !== 1 ) { |
| 4916 | return; |
| 4917 | } |
| 4918 | |
| 4919 | // 1. Copy private data: events, handlers, etc. |
| 4920 | if ( data_priv.hasData( src ) ) { |
| 4921 | pdataOld = data_priv.access( src ); |
| 4922 | pdataCur = data_priv.set( dest, pdataOld ); |
| 4923 | events = pdataOld.events; |
| 4924 | |
| 4925 | if ( events ) { |
| 4926 | delete pdataCur.handle; |
| 4927 | pdataCur.events = {}; |
| 4928 | |
| 4929 | for ( type in events ) { |
| 4930 | for ( i = 0, l = events[ type ].length; i < l; i++ ) { |
| 4931 | jQuery.event.add( dest, type, events[ type ][ i ] ); |
| 4932 | } |
| 4933 | } |
| 4934 | } |
| 4935 | } |
| 4936 | |
| 4937 | // 2. Copy user data |
| 4938 | if ( data_user.hasData( src ) ) { |
| 4939 | udataOld = data_user.access( src ); |
| 4940 | udataCur = jQuery.extend( {}, udataOld ); |
| 4941 | |
| 4942 | data_user.set( dest, udataCur ); |
| 4943 | } |
| 4944 | } |
| 4945 | |
| 4946 | function getAll( context, tag ) { |
| 4947 | var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) : |