我在gwt标签上创建了一个点击处理程序,但它无法触发。怎么了?相同的方法适用于其他小部件,如图标等。
@UiField Label fileName;
---
---
public void addClickHandler() {
fileName.sinkEvents(Event.ONCLICK);
handler = this.addHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
event.preventDefault();
event.stopPropagation();
Window.alert("UI clicked");
}
}, ClickEvent.getType());
}
答案 0 :(得分:2)
正如我在评论中指出的那样。它无法工作的原因是因为您要向this
添加本机事件处理程序,并且因为我需要在元素上接收DOM事件以便能够处理它们。由于您没有为this
元素执行此操作,但对于Label
,它将不起作用。
由于您要处理Label
上的点击元素,您需要将处理程序添加到fileName
,这将有效