aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/event.js15
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 );
}
};
}