8
可以说我有一个自定义的小部件,它有一个ClickHandler。这里的例子:GWT添加ClickHandler到DOM元素
public class TestWidget extends Composite {
private static TestWidgetUiBinder uiBinder = GWT
.create(TestWidgetUiBinder.class);
interface TestWidgetUiBinder extends UiBinder<Widget, TestWidget> {
}
@UiField
Button button;
public TestWidget(String firstName) {
initWidget(uiBinder.createAndBindUi(this));
button.setText(firstName);
}
@UiHandler("button")
void onClick(ClickEvent e) {
Window.alert("Hello!");
}
}
当我尝试添加这个小部件是这样的:
TestWidget testWidget = new TestWidget("myTestWidget");
RootPanel.get().add(testWidget);
一切都很好。如果我点击我的按钮,我会收到我期望的消息。 但是如果我添加这样的:
TestWidget testWidget = new TestWidget("myTestWidget");
RootPanel.getBodyElement().appendChild(testWidget.getElement());
我的点击事件不会被解雇。我很努力地理解为什么。 如果有人能向我解释这个或者将我链接到一个资源,我可以阅读这些资料,那将会很好。最后,我想知道是否有可能添加clickhandler后,我附加了子事件,如果这种方式被推荐。感谢它提前寻求帮助。
裤裤