diff options
-rw-r--r-- | src/event.js | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/event.js b/src/event.js index 688aa9fb0..ea9882d05 100644 --- a/src/event.js +++ b/src/event.js @@ -799,8 +799,8 @@ if ( !jQuery.support.changeBubbles ) { jQuery._data( elem, "_change_data", val ); } - if ( val !== old && old != null && elem.parentNode ) { - simulate( "change", elem.parentNode, e, true ); + if ( val !== old && old != null ) { + simulate( "change", elem, e, true ); } }, @@ -852,21 +852,20 @@ if ( !jQuery.support.changeBubbles ) { jQuery.event.special.change = { setup: function( data, namespaces ) { - if ( this.type === "file" ) { + // If this is a real input element, no need to fake change + if ( rformElems.test( this.nodeName ) ) { return false; } - for ( var type in changeFilters ) { jQuery.event.add( this, type + "._change", changeFilters[ type ] ); } - - return rformElems.test( this.nodeName ); }, teardown: function( namespaces ) { + if ( rformElems.test( this.nodeName ) ) { + return false; + } jQuery.event.remove( this, "._change" ); - - return rformElems.test( this.nodeName ); } }; } |