X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fevent.js;h=e15a2ea63955e6e373362a6019af88238614f554;hb=021b809acecc4e94613375b3182c86722470fe9b;hp=6fe8a5b15b20a7d10d0937a3e66a55195f2b5287;hpb=5267824aa36f0fcecb944a4daf0b99d6e01460fd;p=jquery.git diff --git a/src/event.js b/src/event.js index 6fe8a5b..e15a2ea 100644 --- a/src/event.js +++ b/src/event.js @@ -221,7 +221,7 @@ jQuery.event = { } // remove generic event handler if no more handlers exist - if ( jQuery.isEmptyObject( events[ type ] ) ) { + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { removeEvent( elem, type, elemData.handle ); } @@ -677,8 +677,7 @@ if ( !jQuery.support.submitBubbles ) { }, teardown: function( namespaces ) { - jQuery.event.remove( this, "click.specialSubmit" ); - jQuery.event.remove( this, "keypress.specialSubmit" ); + jQuery.event.remove( this, ".specialSubmit" ); } }; @@ -778,9 +777,7 @@ if ( !jQuery.support.changeBubbles ) { }, teardown: function( namespaces ) { - for ( var type in changeFilters ) { - jQuery.event.remove( this, type + ".specialChange", changeFilters[type] ); - } + jQuery.event.remove( this, ".specialChange" ); return formElems.test( this.nodeName ); }