我在 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());
}
最佳答案
正如我在评论中指出的那样。它不起作用的原因是因为您正在向 this
添加 native 事件处理程序,并且正如我所说,您需要在元素上接收 DOM 事件才能处理它们。因为您没有对 this
元素执行此操作,但对 Label
则不起作用。
由于您想处理 Label
上的点击元素,因此需要将处理程序添加到 fileName
中,这样就可以工作了
关于java - GWT 中的标签上未触发单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32710800/