单击事件未在 GWT 中的标签上触发
Click event not firing on label in GWT
我在 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
,并且像我一样,但您需要在元素上接收 DOM 事件才能处理它们。由于您没有为 this
元素执行此操作,但对于 Label
它不会起作用。
由于您想要处理 Label
上的点击元素,您需要将处理程序添加到 fileName
,这将起作用
我在 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
,并且像我一样,但您需要在元素上接收 DOM 事件才能处理它们。由于您没有为 this
元素执行此操作,但对于 Label
它不会起作用。
由于您想要处理 Label
上的点击元素,您需要将处理程序添加到 fileName
,这将起作用