Opened 6 years ago

Closed 5 years ago

#18835 closed defect (wontfix)

blur/focus events does not fire in IE on few cases.

Reported by: ceejayrao Owned by: bill
Priority: undecided Milestone: 1.11.3
Component: Dijit - Form Version: 1.10.5
Keywords: Cc:
Blocked By: Blocking:


A simple test case to exhibit an issue that manifests using Dojo in IE only.

Test Case: Click on button, focus should move to text box and button disabled. On Blur of text box, button should be enabled.

Problem Statement: Click as fast as you can on the button, and notice that focus is nowhere very quickly, even though the cursor is blinking in the text box. After that clicking any where else on the screen, text box blur event does not fire.

Attachments (2)

test-dojo.html (1.9 KB) - added by ceejayrao 6 years ago.
test-plain.html (1.4 KB) - added by ceejayrao 6 years ago.
Html without Dojo, plain javascript.

Download all attachments as: .zip

Change History (5)

Changed 6 years ago by ceejayrao

Attachment: test-dojo.html added

Changed 6 years ago by ceejayrao

Attachment: test-plain.html added

Html without Dojo, plain javascript.

comment:1 Changed 6 years ago by dylan

Milestone: tbd1.11.3

comment:2 Changed 5 years ago by Michael J Van Sickle

This appears to be related to how Internet Explorer fires its events compared to Chrome and Firefox. It appears that IE processes the click event before the blur / focus events, whereas Chrome and FireFox? process the blur, then the focus, then the click. This different order of events is what's causing the observed behavior in IE. The only surefire way that I can think of to fix this would require a normalization of the event-emission order for all browsers which promises to be difficult.

comment:3 Changed 5 years ago by bill

Resolution: wontfix
Status: newclosed

Yah, I agree, I don't think this is something that we can "fix". Probably you could work around it in user code with a setTimeout(), to ensure that the event handlers are called in the order you want.

Note: See TracTickets for help on using tickets.