| 2362 | } |
| 2363 | |
| 2364 | function cloneCopyEvent( src, dest ) { |
| 2365 | var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; |
| 2366 | |
| 2367 | if ( dest.nodeType !== 1 ) { |
| 2368 | return; |
| 2369 | } |
| 2370 | |
| 2371 | // 1. Copy private data: events, handlers, etc. |
| 2372 | if ( data_priv.hasData( src ) ) { |
| 2373 | pdataOld = data_priv.access( src ); |
| 2374 | pdataCur = data_priv.set( dest, pdataOld ); |
| 2375 | events = pdataOld.events; |
| 2376 | |
| 2377 | if ( events ) { |
| 2378 | delete pdataCur.handle; |
| 2379 | pdataCur.events = {}; |
| 2380 | |
| 2381 | for ( type in events ) { |
| 2382 | for ( i = 0, l = events[ type ].length; i < l; i++ ) { |
| 2383 | jQuery.event.add( dest, type, events[ type ][ i ] ); |
| 2384 | } |
| 2385 | } |
| 2386 | } |
| 2387 | } |
| 2388 | |
| 2389 | // 2. Copy user data |
| 2390 | if ( data_user.hasData( src ) ) { |
| 2391 | udataOld = data_user.access( src ); |
| 2392 | udataCur = jQuery.extend( {}, udataOld ); |
| 2393 | |
| 2394 | data_user.set( dest, udataCur ); |
| 2395 | } |
| 2396 | } |
| 2397 | |
| 2398 | function getAll( context, tag ) { |
| 2399 | var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) : |