lässt sagen, ich habe ein benutzerdefiniertes Widget, das einen ClickHandler hat. Hier ist das Beispiel:GWT Hinzufügen eines ClickHandler zu einem DOM-Element
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!");
}
}
Wenn ich versuche, dieses Widget wie folgt hinzuzufügen:
TestWidget testWidget = new TestWidget("myTestWidget");
RootPanel.get().add(testWidget);
alles in Ordnung ist. Wenn ich auf meine Schaltfläche klicke, erhalte ich die Nachricht, die ich erwarte. Allerdings, wenn ich hinzufügen, es wie folgt aus:
TestWidget testWidget = new TestWidget("myTestWidget");
RootPanel.getBodyElement().appendChild(testWidget.getElement());
meine Click-Ereignis nicht ausgelöst wird. Ich versuche zu verstehen, warum. Es wäre nett, wenn mir jemand das erklären könnte oder mich mit einer Ressource verlinkt, wo ich das nachlesen kann. Schließlich würde ich gerne wissen, ob es möglich ist, den Clickhandler nachträglich hinzuzufügen, ich habe das Kind-Event angehängt und wenn das so empfohlen wird. Danke, dass es um Hilfe geht.
kuku