gpt4 book ai didi

java - 向元素添加 MouseOverHandler?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:07:02 26 4
gpt4 key购买 nike

我想在 GWT 1.6 中监听鼠标悬停事件。由于 GWT 1.6 引入了处理程序和弃用的监听器,我不确定如何利用现有的少量信息完成此任务。

注意:我有一个 Element 对象。这就是我需要添加鼠标处理程序的内容。我为我的不清楚表示歉意。

谢谢!

最佳答案

我希望在我需要自己解决这个问题之前我们能看到答案。他发布的示例代码中有一些错误,但是 post by Mark Renouf in this thread拥有我们所需的大部分内容。

假设您想监听自定义小部件上的鼠标悬停和鼠标移开事件。在您的小部件中,添加两个方法:

public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) {
return addDomHandler(handler, MouseOverEvent.getType());
}

public HandlerRegistration addMouseOutHandler(MouseOutHandler handler) {
return addDomHandler(handler, MouseOutEvent.getType());
}

然后创建一个处理程序类:

public class MyMouseEventHandler implements MouseOverHandler, MouseOutHandler {
public void onMouseOver(final MouseOverEvent moe) {
Widget widget = (Widget) moe.getSource();
widget.addStyleName("my-mouse-over");
}

public void onMouseOut(final MouseOutEvent moe) {
Widget widget = (Widget) moe.getSource();
widget.removeStyleName("my-mouse-over");
}
}

最后,将处理程序添加到小部件:

myWidget.addMouseOverHandler(new MyMouseEventHandler());
myWidget.addMouseOutHandler(new MyMouseEventHandler());

如果您只监听鼠标悬停事件,则可以跳过鼠标移出处理。如果您不制作自定义小部件,小部件可能已经有添加处理程序的方法。

最后,根据线程的警告,请记住为鼠标事件addDomHandler,而不是addHandler

关于java - 向元素添加 MouseOverHandler?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/879349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com