#620 closed defect (fixed)
tooltip does not show up, when it is inside a scrolling div
Reported by: | anonymous | Owned by: | anonymous |
---|---|---|---|
Priority: | high | Milestone: | |
Component: | General | Version: | 0.2 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
For full discussion see the the Dojo-interest list.
It looks like the problem is not with the hitch() line -as Brian Duchek mentioned on mail list-, but in the fact that the show method gets dynamically scheduled/unscheduled, and for some reason the scolling makest it unscheduled. So temporarily here's dumb fix I've done - good until the experts fix it-, if you change the onMouseMove() where the showTimer gets removed to:
onMouseMove: function(e) { this.mouseX = e.pageX || e.clientX + document.body.scrollLeft; this.mouseY = e.pageY || e.clientY + document.body.scrollTop; if(dojo.html.overElement(this.connectNode, e) || dojo.html.overElement(this.domNode, e)) { // If the tooltip has been scheduled to be erased, cancel that timer // since we are hovering over element/tooltip again if(this.hideTimer) { clearTimeout(this.hideTimer); delete this.hideTimer; } } else { // mouse has been moved off the element/tooltip // note: can't use onMouseOut to detect this because the "explode" effect causes // spurious onMouseOut/onMouseOver events (due to interference from outline) //// !!!! BUG FIX for tooltip does not show !!!!// /* if(this.showTimer){ clearTimeout(this.showTimer); delete this.showTimer; } */ if((this.state=="displaying"||this.state=="displayed") && !this.hideTimer){ this.hideTimer = setTimeout(dojo.lang.hitch(this, "hide"), this.hideDelay); } } },
The fix is to comment out the the clearTimeout call in the middle. It looks like working fine now.
Regards, Zoltan Luspai
Change History (3)
comment:1 Changed 16 years ago by
Milestone: | → 0.3.1 |
---|
comment:2 Changed 16 years ago by
Milestone: | 0.3.1 → 0.3release |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
OK, this should be working now (I think). The timer was getting cancelled because the code calculated that you had moved the mouse off of the target object, even though in actuality you were still mousing over the target object. Try it again please.