Regression: stopPropagation inside change handlers in IE is incorrectly applied to keydown event
|Reported by:||mikecapp||Owned by:||dmethvin|
|Keywords:||change keydown IE||Cc:|
On switching from 1.3.2 to 1.4.2, some of our document-level ENTER keydown handlers stopped working when triggered from a just-modified textbox.
STEPS TO REPRODUCE:
- Load attached reduction
- Click on page background, then in textbox
- Type something
- Press ENTER
- Press ENTER again
The green ENTER indicator bar should flash for each press
The green ENTER bar does NOT flash for the first press, although the red CHANGE bar does. The green bar DOES flash for the second press.
The reduction binds a handler to the change event on the input, which calls stopPropagation().
Reduction tested on Win2003/IE7; also reported on XP/IE6.
Not reproducible on non-IE browsers.
Reproducible with current nightly.
HYPOTHESIS: (a.k.a. "wild speculation")
1.3.2/IE didn't raise a change event on Enter; this could be a problem since the Enter will often be triggering form submission.
1.4.2 fixes this by detecting Enter keydowns and raising the change manually.
However, it's not cloning (or dummying up) the event object passed to the change handler, so that stopPropagation() on the change event is also stopping propagation of the keydown event.
Change History (13)
comment:4 Changed 6 years ago by snover
- Summary changed from Regression: change fixup interfering with keydown in IE to Regression: stopPropagation inside change handlers in IE is incorrectly applied to keydown event
comment:5 Changed 6 years ago by snover
- Milestone changed from 1.4.3 to 1.4.4
- Priority changed from undecided to high
- Status changed from new to open
- Version changed from 1.4.2 to 1.4.3
comment:7 Changed 6 years ago by dmethvin
- Owner set to dmethvin
- Status changed from open to assigned
comment:8 Changed 6 years ago by dmethvin
- Resolution set to fixed
- Status changed from assigned to closed
comment:9 Changed 6 years ago by dmethvin
- Resolution fixed deleted
- Status changed from closed to reopened