Opened 12 years ago

Closed 12 years ago

Last modified 11 years ago

#9898 closed defect (fixed)

ComboBox and FilteringSelect select last entry shown when clicking the arrow on a widget near the bottom of the browser in Firefox

Reported by: Thomas Pfeiffer Owned by: Douglas Hays
Priority: high Milestone: 1.5
Component: Dijit - Form Version: 1.3.2
Keywords: ComboBox FilteringSelect Firefox Cc: Nathan Toone, Douglas Hays
Blocked By: Blocking:

Description (last modified by bill)

When a ComboBox or FilteringSelect is currently shown near the bottom of the browser window, the item list pops up above the widget. When clicking certain areas of the dropdown arrow on the widget in this state in Firefox, the list pops up for a split second and then immediately selects the last item shown. It seems like the dropdown layer overlaps with the widget. In Internet Explorer this works fine.

Attachments (1)

9898.patch (426 bytes) - added by Douglas Hays 12 years ago.
check for a highlighted option before mouseup ack

Download all attachments as: .zip

Change History (8)

comment:1 Changed 12 years ago by bill

Component: GeneralDijit
Description: modified (diff)
Owner: anonymous deleted

I tried it on test_ComboBox.html and I don't see that problem. FF3.5 on mac and windows. The list does popup above the <input> field (as designed) but nothing is auto selected. Do you have a test case? If so please attach it using the attach file button.

comment:2 Changed 12 years ago by Thomas Pfeiffer

Try the 8th example in the test, "created programmatically" (when the list pops up above). When I try it, it does not happen every time but quite often. For some reason this is the only case in the test where that happens, but in the case where we are using it in our company it happens as often as in example eight.

comment:3 Changed 12 years ago by bill

Cc: Nathan Toone Douglas Hays added

Interesting. OK I do see this on my windows box, where it selects "Pennsylvania". The last item shown in the drop down list is "Oregon", which appears just above the ComboBox, but I guess that the mouse-up event occurs before the drop down list has been resized, and the drop down list's Pennsylvania is appearing over the arrow icon.

I think this is one of the corner cases Nathan addressed in _HasDropDown.js:

// This code deals with the corner-case when the drop down covers the original widget,
// because it's so large.  In that case mouse-up shouldn't select a value from the menu.
// Find out if our target is somewhere in our dropdown widget,
// but not over our _buttonNode (the clickable node)

Of course, that doesn't help you since ComboBox has been converted to use _HasDropDown.

Not sure if we have time to do that for 1.4

comment:4 Changed 12 years ago by bill

Milestone: tbd1.5
Priority: highnormal

comment:5 Changed 12 years ago by Douglas Hays

Owner: set to Douglas Hays

Changed 12 years ago by Douglas Hays

Attachment: 9898.patch added

check for a highlighted option before mouseup ack

comment:6 Changed 12 years ago by Douglas Hays

Resolution: fixed
Status: newclosed

(In [21016]) Fixes #9898. Disallow ComboBox? menu selection on mouse-up if mouse-down didn't fire first. Attempted an automated test of a hard-to-recreate timing problem. Fixed some random timing issues with the other mouse-oriented ComboBox? automated tests.

comment:7 Changed 11 years ago by bill

Component: DijitDijit - Form
Note: See TracTickets for help on using tickets.