Opened 10 years ago

Closed 10 years ago

#8499 closed defect (fixed)

IE8 quirks mode: drop down list positioned in wrong place

Reported by: bill Owned by: Eugene Lazutkin
Priority: high Milestone: 1.3
Component: Dijit Version: 1.2.3
Keywords: Cc:
Blocked By: Blocking:

Description

See test_DropDownSelect.html. Clicking on the first drop down displays "Tennessee" at the very bottom of the page, past the firebug console.

Not sure why but note that dijit.form.ComboBox is working correctly

Change History (6)

comment:1 Changed 10 years ago by bill

Component: DojoX FormDijit
Milestone: tbd1.3
Owner: changed from Nathan Toone to bill
Status: newassigned
Summary: IE8: DropDownSelect: drop down list positioned in wrong placeIE8 quirks mode: drop down list positioned in wrong place

Oh, ComboBox fails too if we make _autoComplete.html quirks mode by removing:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
		"http://www.w3.org/TR/html4/strict.dtd">

Looks like a bug in dijit's popup.js, or likely something in core. I'll look at first though...

comment:2 Changed 10 years ago by bill

Problem is that the dijitPopup class, although correctly applied to the wrapper div, and also correctly defined in dijit.css (both of these things are confirmable from IE's developer toolbar), is not taking affect, and thus the position is not absolute. Hmm.

comment:3 Changed 10 years ago by bill

Owner: changed from bill to Eugene Lazutkin
Status: assignednew

Eugene - can you handle this one?

The root bug is that dojo.attr(node, "class", "foo") doesn't work on IE8 in quirksmode.

The simple fix is to modify _fixAttrName so that the lines:

case "class":
	return ieLT8  ? "className" : "class";

are changed to:

case "class":
	return ieLT8 || dojo.isQuirks ? "className" : "class";

However, it seems like maybe dojo.attr() should be executing node.className = "foo"; rather than the current behavior of calling node.setAttribute("class", "foo") (or node.setAttribute("className", "foo"), given that that's how the other class functions modify the class.

comment:4 Changed 10 years ago by bill

Priority: normalhigh

comment:5 Changed 10 years ago by Nathan Toone

This can also be reproduced on the dijit/tests/form/test_Button.html if you set it to run in quirks mode as well.

comment:6 Changed 10 years ago by Eugene Lazutkin

Resolution: fixed
Status: newclosed

(In [16743]) Redirecting the "class" attribute access to use node.className, !strict, fixes #8499.

Note: See TracTickets for help on using tickets.