Anchor link = new Anchor("Link");
link.setStyleName("link");
link.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Window.alert("mes");
}
});
relhtml.setHTML(relhtml.getHTML()+link);
有了这段代码,我的HTML显示正确,而锚看起来像我想要的样子,但事件不会被触发。你能帮忙吗?
答案 0 :(得分:2)
当您致电setHTML
时,您绕过了所有GWT架构,只是在页面中插入了普通的HTML。这就是你的事件处理程序不起作用的原因。
将小部件添加到容器的正确方法是使用add
系列方法。例如,您可能会说RootPanel.get().add(link)
。
看起来您正在构建一个HTML字符串以一次性插入所有内容,但只需在每个组件上调用add
即可。
RootPanel root = RootPanel.get();
root.add(link);
root.add(new Button("And this is a button!"));
root.add(whateverOtherWidget);
root.add(new HTML("You can also add arbitrary html with the HTML widget.");