Gwt MouseOver和MouseOut事件不会被小部件触发

Gwt MouseOver和MouseOut事件不会被小部件触发,gwt,event-handling,mouseevent,mouseover,Gwt,Event Handling,Mouseevent,Mouseover,我有两个小部件在监听MouseOutEvent。问题是,有时,即使您将鼠标移出widgeth,也不会在这两个widgeth上调用此事件。 没有抛出错误,这是非常难以调试的。 我的理解是这个事件是由浏览器触发的,所以我不明白为什么没有发生。我正在将此事件注册到小部件本身 任何建议都会大有帮助 谢谢听起来您可能使用addHandler注册到您的MouseOverHandler。小部件有两种添加事件处理程序的方法,addDomHandler和addHandler。第一个用于穹顶通风口,例如鼠标出风口。

我有两个小部件在监听MouseOutEvent。问题是,有时,即使您将鼠标移出widgeth,也不会在这两个widgeth上调用此事件。 没有抛出错误,这是非常难以调试的。 我的理解是这个事件是由浏览器触发的,所以我不明白为什么没有发生。我正在将此事件注册到小部件本身

任何建议都会大有帮助


谢谢

听起来您可能使用addHandler注册到您的MouseOverHandler。小部件有两种添加事件处理程序的方法,addDomHandler和addHandler。第一个用于穹顶通风口,例如鼠标出风口。它接收小部件上的事件,这意味着您的侦听器将收到通知(这仅对DomeEvents是必需的)。如果不使用addDomHandler注册处理程序,则可能不会触发这些事件

您应该调试eventlistener是否真的被添加了,我遇到过GWT没有添加侦听器的情况。您还应该检查小部件元素上方是否没有其他DOM元素,并且小部件元素的宽度和高度是否与您预期的相同,例如,一些包含浮动元素的元素没有高度。