GWT。如何使用事件处理滚动我自己的基于 <ul> 的菜单?

GWT. How to roll my own <ul> based menu with Event Handling?

我使用 GWT 2.7。我对默认的小部件不满意。

我想使用 html 元素创建一个简单的菜单,例如:<ul><li>Element</li></ul>。 首选的方式是使用纯 java,但也可以是 UiBinder

请帮帮我。如何解决这个问题?

首先,您需要获得 <li> Element。通过 getElementById()@UiField。 然后你接收你想要处理的事件:

Event.sinkEvents(element, Event.ONCLICK | Event.ONMOUSEOVER);

并设置 EventListener:

Event.setEventListener(element, new EventListener() {
    @Override
    public void onBrowserEvent(Event event) {
        switch(event.getTypeInt()) {
            case Event.ONCLICK:
                Window.alert("Click");
                break;
            case Event.ONMOUSEOVER:
                Window.alert("Mouse over");
                break;
        }
    }
});