}
// 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 );
}
},
teardown: function( namespaces ) {
- jQuery.event.remove( this, "click.specialSubmit" );
- jQuery.event.remove( this, "keypress.specialSubmit" );
+ jQuery.event.remove( this, ".specialSubmit" );
}
};
},
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 );
}