Opened 14 years ago

Last modified 10 years ago

#4721 closed defect

dijit.MasterTooltip getting wrong position when connected to GFX objects — at Initial Version

Reported by: guest Owned by:
Priority: high Milestone: 1.3
Component: DojoX GFX Version: 0.9
Keywords: tooltip gfx Cc:
Blocked By: Blocking:

Description

Currently dijit.placeOnScreenAroundElement() is putting the MasterTooltip? in the incorrect location, as seen in the below example (kudos to jayantbsai for example and for identifying this). The tooltip position gets set to style.top:-9999. I'm not sure if the problem is in dijit._MasterTooltip.show or in dijit.placeOnScreenAroundElement itself. Workaround is to just do a onmouseover event, correcting style={top: Xpx, left: Ypx};, but the tooltip flickers under this workaround since this is not really a good solution. My contact info is amcallis (at the domain] gmail:

Testcase:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link href="js/dojo/dijit/themes/tundra/tundra.css" type="text/css" rel="stylesheet" /> <title>GFX + Tooltip</title> <script type="text/javascript" djConfig="isDebug:true" src="js/dojo/dojo/dojo.js"></script> <script type="text/javascript">

dojo.require("dojox.gfx"); dojo.require("dojo.parser"); dojo.require("dijit.Tooltip");

function test() {

var surface = dojox.gfx.createSurface(dojo.byId("div"), 300, 300); var shape = surface.createRect({ x:100, y:100, width:100, height:100 }).setFill([0, 255, 0]).setStroke({ color:[255, 0, 0], width:2 }); shape.getEventSource().id = "foo";

var tooltip = new dijit.Tooltip({ id:"label", connectId:"foo" }, "wordOfTheDay");

}

dojo.addOnLoad(test);

</script>

</head> <body class="tundra">

<div id="div" style="width:300px; height:300px; border:1px solid #000; overflow:hidden;"></div> <span id="wordOfTheDay">longanimity</span>

</body>

</html>

Change History (0)

Note: See TracTickets for help on using tickets.