#18094 closed defect (fixed)
drop downs broken after some time
Reported by: | gerhard presser | Owned by: | bill |
---|---|---|---|
Priority: | undecided | Milestone: | 1.9.4 |
Component: | Dijit | Version: | 1.9.3 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
after some time of working with a dojo-web-app, _HasDropDown widgets seem to be broken.
the drop-downs are closed immediately after showing them.
we can also reproduce this by alternately and rapidly clicking with left/right mouse on e.g. drop-down-buttons.
I attached a small test-page. just click left/right on one of the drop-downs about 20 times, and the whole page is broken. none of the drop downs opens again.
the widget seems to get blured when opening the dropdown. the stacktrace is:
q.closeDropDown (_HasDropDown.js.uncompressed.js:449) q._onBlur (_HasDropDown.js.uncompressed.js:304) u._setStack (focus.js.uncompressed.js:302) u._onTouchNode (focus.js.uncompressed.js:244) (anonymous function) (focus.js.uncompressed.js:114)
this is quite a critical bug for our application. any ideas for workarounds?
Attachments (1)
Change History (7)
Changed 7 years ago by
Attachment: | focus_problem.html added |
---|
comment:1 Changed 7 years ago by
Component: | General → Dijit |
---|---|
Owner: | set to gerhard presser |
Status: | new → pending |
comment:2 Changed 7 years ago by
Status: | pending → new |
---|
Win 7, Chrome35, FF30, IE11 also seen on dojo 1.10.0
comment:3 Changed 7 years ago by
Milestone: | tbd → 1.9.4 |
---|---|
Owner: | changed from gerhard presser to bill |
Status: | new → assigned |
I was able to reproduce this, and fix it, at least in my tests.
When you mousedown on a HasDropDown
subclass (like DropDownButton
), HasDropDown
sets up a mouseup
listener at the document level. That listener listens for a single mouseup
event and then removes itself. The problem is that we sometimes get two mousedown events in a row, causing us to lose the reference (this._docHandler
) to that listener, so it never gets removed. Then when pressing button 1, button 2 reacts to the mouseup event.
comment:4 Changed 7 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
I'll take a look, but which browser and OS is this happening on for you?
You might as well try 1.10 too; maybe I fixed this already.