Opened 12 years ago

Closed 12 years ago

#2354 closed defect (fixed)

dojo.lfx.html.highlight() stops abruptly for select elements in firefox

Reported by: sk8mini@… Owned by: Bryan Forbes
Priority: high Milestone: 0.9
Component: lfx Version: 0.4.1
Keywords: Cc:
Blocked By: Blocking:

Description

Here is a simple example that works just fine in IE but is broken in firefox.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Test Select Animation</title>
    <script src="http://download.dojotoolkit.org/dojo_0.4.1.js"></script>
    <script>

        dojo.require("dojo.debug.console");
         dojo.require("dojo.lfx.*");
         function doHighlight(dude) {dojo.lfx.html.highlight([dude], [0,0,0], 2000).play();};
        dojo.addOnLoad
(function(){
            setTimeout('doHighlight("broken")',1000);
            setTimeout('doHighlight("working")',1000);
            });
    </script>
</head>

<body>
<form>
    <select id="broken" size="5"><option>broken</option></select>
</form>
<div id="working">working</div>

</body>
</html>

As far as I can tell, there are no error messages displayed.

Change History (3)

comment:1 Changed 12 years ago by bill

See #2448

comment:2 Changed 12 years ago by r.j.coon@…

An addendum: IE and Firefox have different display models for the SELECT node. IE will allow changes to the underlying options to filter through to the background of the select itself, but Firefox will not. Both, however, will happily work if the background of the SELECT node itself is modified. The ultimate solution to this problem is to get the dojo.lfx.html._byId method to not treat SELECT nodes as array like, or to change the test so that it does not just use the isArrayLike test to determine whether to process the nodes as an array.

comment:3 Changed 12 years ago by bill

Milestone: 0.9
Resolution: fixed
Status: newclosed

See #2448 for root cause. But this isn't an issue in 0.9 anymore because the fx functions only take a single node as an argument.

Note: See TracTickets for help on using tickets.