GWT Hinzufügen eines ClickHandlers zu einem DOM-Element

8

lässt mich sagen, dass ich ein benutzerdefiniertes Widget mit einem ClickHandler habe. Hier ist das Beispiel:

%Vor%

}

Wenn ich versuche, dieses Widget wie folgt hinzuzufügen:

%Vor%

alles ist in Ordnung. Wenn ich auf meine Schaltfläche klicke, erhalte ich die Nachricht, die ich erwarte. Aber wenn ich es so hinzufüge:

%Vor%

Mein Klickereignis wird nicht ausgelöst. Ich versuche zu verstehen, warum. Es wäre schön, 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

    
kukudas 20.06.2010, 22:19
quelle

1 Antwort

7

Wenn Sie add() aufrufen, wird Widget.onAttach() für das Widget aufgerufen, das dem Panel hinzugefügt wird. onAttach funktioniert, um das Widget für den Empfang von Ereignissen zu registrieren. appendChild() verbindet einfach ein DOM-Element mit einem anderen und macht nichts anderes. Sie sollten in der Lage sein, im zweiten Fall Ereignisse zu erhalten, indem Sie Folgendes tun:

%Vor%

Allerdings habe ich das nicht getestet und würde nicht empfehlen, es in einer realen Anwendung zu verwenden. Die Verwendung von add() wird definitiv bevorzugt, wenn appendChild() auf diese Weise verwendet wird, hat dies keine Vorteile und kann zu unerwartetem Verhalten führen.

    
dslh 20.06.2010, 23:22
quelle

Tags und Links