我正在优化以前使用各种嵌套面板来处理DIV和Spans的GWT应用程序.我将整个表生成为单个SafeHtml对象,然后将其分配到单个SafeHtml小部件中.
我现在希望能够在特定"单元格"跨度而不是整个表格的水平上跟踪鼠标悬停/鼠标移除事件,但我不知道如何做到这一点.
如果我向HTML小部件本身添加一个处理程序,我将获得各种元素的事件.
从2.0开始,有一种简单的方法可以做到这一点.例如,如果HTML代码包含在某种窗口小部件(HTMLPanel或HTML)中,则可以调用addDomHandler(<handler>,<eventtyoe>)该窗口小部件,因此您将从内部html接收事件.例如,如果HTMLPanel中有一堆锚点,并且您想知道单击了哪一个,则可以执行以下操作:
panel.addDomHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Element element= event.getNativeEvent().getEventTarget().cast();
if(element.getTagName().equals("A")) {
AnchorElement anchor = element.cast();
Window.alert("Anchor with href " + anchor.getHref() + " was clicked");
}
}
}, ClickEvent.getType());
Run Code Online (Sandbox Code Playgroud)
由于您想要跟踪鼠标悬停/移出事件,您将不得不使用2个不同的dom处理程序,找出触发事件时所需的单元格,然后更改其状态.
| 归档时间: |
|
| 查看次数: |
1603 次 |
| 最近记录: |