Extracted the logic for copying events from one jQuery set to another, makes it easier to work with disconnected DOM nodes.
This commit is contained in:
parent
391f83b2a2
commit
62436f4b29
|
@ -168,21 +168,8 @@ jQuery.fn.extend({
|
||||||
|
|
||||||
// Copy the events from the original to the clone
|
// Copy the events from the original to the clone
|
||||||
if ( events === true ) {
|
if ( events === true ) {
|
||||||
var orig = this.find("*").andSelf(), i = 0;
|
cloneCopyEvent( this, ret );
|
||||||
|
cloneCopyEvent( this.find("*"), ret.find("*") );
|
||||||
ret.find("*").andSelf().each(function(){
|
|
||||||
if ( this.nodeName !== orig[i].nodeName ) { return; }
|
|
||||||
|
|
||||||
var events = jQuery.data( orig[i], "events" );
|
|
||||||
|
|
||||||
for ( var type in events ) {
|
|
||||||
for ( var handler in events[ type ] ) {
|
|
||||||
jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
i++;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return the cloned set
|
// Return the cloned set
|
||||||
|
@ -284,6 +271,24 @@ jQuery.fn.extend({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function cloneCopyEvent(orig, ret) {
|
||||||
|
var i = 0;
|
||||||
|
|
||||||
|
ret.each(function(){
|
||||||
|
if ( this.nodeName !== orig[i].nodeName ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var events = jQuery.data( orig[i], "events" );
|
||||||
|
|
||||||
|
for ( var type in events ) {
|
||||||
|
for ( var handler in events[ type ] ) {
|
||||||
|
jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function buildFragment(args, nodes, scripts){
|
function buildFragment(args, nodes, scripts){
|
||||||
var fragment, cacheable, cached, cacheresults, doc;
|
var fragment, cacheable, cached, cacheresults, doc;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue