I've got a set of button rules to change the background color on
rollover (CSS below, but it's nothing exotic). It works if you just
move the mouse in and out of the button; the CustomButton code to
toggle setHovering(boolean) is triggered, and everything is good.
But if something happens to suppress the ON_MOUSE_OUT event,
setHovering(false) is never invoked, so the button retains the
rollover background color until you explicitly trigger ON_MOUSE_OUT by
dragging the mouse in and out of the button. This situation can
easily happen when clicking the button invokes a modal dialogue
window, or when the button is at the edge of a window.
This seems like a GWT bug, although possibly caused by inherent
browser limitations. I'd expect setHovering(false) to be invoked when
the mouse is no longer hovering over the button, as opposed to just
the subset of cases where the user drags the mouse out of the button,
triggering the ON_MOUSE_OUT event.
Does anyone know of any workarounds?
.basis-menubutton
{
border: 1px solid transparent;
cursor: pointer;
background-color: transparent;
text-align: center;
vertical-align: middle;
padding: 0px;
overflow: hidden;
}
.basis-menubutton-border
{
border: 1px solid #cbcbcb;
}
.basis-menubutton-down-hovering
{
border: 1px solid #909090;
background-color: #cacaca;
}
.basis-menubutton-up-hovering
{
border: 1px solid #cbcbcb;
background-color: #e8e8e8;
}
// From CustomButton:
case Event.ONMOUSEOUT:
Element to = DOM.eventGetToElement(event);
if (DOM.isOrHasChild(getElement(), DOM.eventGetTarget(event))
&& (to == null || !DOM.isOrHasChild(getElement(), to))) {
if (isCapturing) {
onClickCancel();
}
setHovering(false);
}
break;
case Event.ONMOUSEOVER:
if (DOM.isOrHasChild(getElement(), DOM.eventGetTarget(event)))
{
setHovering(true);
if (isCapturing) {
onClickStart();
}
}
break;
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---