Closed
Bug 568364
Opened 15 years ago
Closed 15 years ago
dispatchEvent of type change on an input breaks subsequent event.which
Categories
(Core :: DOM: Events, defect)
Tracking
()
RESOLVED
INVALID
People
(Reporter: alex, Unassigned)
References
()
Details
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB6.4; .NET CLR 2.0.50727; .NET CLR 1.1.4322; MS-RTC LM 8; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; MAXTHON 2.0)
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
On Safari and Firefox (2.x and 3.x), dispatching the change event
makes event.which undefined on any subsequent keyup events on ANY element!
Reproducible: Always
Steps to Reproduce:
1.Type some characters into either text field at the above url
2.You'll see their codes listed below
3.Push the Dispatch Change event button
4.Type into either text field again - this time you'll see undefined
Actual Results:
undefined
Expected Results:
e.which should not break after dispatching a change event
Works correctly in IE (at least 7 and 8)
![]() |
||
Comment 1•15 years ago
|
||
This is a bug in the page. In particular, showCode() has:
var e = window.event || arguments.callee.caller.arguments[0];
But am_fireEvent has this code in the !document.createEventObject branch:
event = document.createEvent('HTMLEvents');
Note lack of |var|. So this is assigning the global "event" variable, which is the same thing as "window.event". After that, showCode always seems the event created by am_fireEvent as window.event, and that of course has no .which property.
This "works correctly" in IE because IE itself will set window.event and also because the IE branch in am_fireEvent actually has |var event|.
Status: UNCONFIRMED → RESOLVED
Closed: 15 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•