Hinzufügen ClickHandler zu div enthält viele andere widget
Scheint es, dass Panel-Erben nicht aus HasClickHandlers und ich kann nicht fügen Sie ein clickHandler zu Div. Gibt es eine Möglichkeit hinzufügen, wird die clickHandler an ein DIV?
EDIT: Der Grund, warum ich nicht verwenden kann, Etikett, dass der DIV möchte ich angeklickt werden enthält andere DIV.
Sie können das Label-widget. Es verwendet ein div-element und implementiert HasClickHandlers.
InformationsquelleAutor Yau Leung | 2010-11-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Standardmäßig Panel nicht 'fallen' das onCLick-Ereignis. Das ist, Klick auf Platten nicht tatsächlich dazu führen, in eine "ClickEvent" und somit der handler nicht gefeuert. Zu verwenden, klicken Sie auf Ereignisse mit dem Panel (oder für diese Angelegenheit jedes andere Widget), muss man zuerst aufrufen sinkEvents() mit dem entsprechenden Ereignis-bits.
Beispiel:
Dem obigen Stück code, das erste 'aktiviert' click-Ereignisse für die SimplePanel mit
p.sinkEvents(Event.ONCLICK);
und geht dann auf hinzufügen, um die standard-ClickHandler auf. Beachten Sie, dass, obwohl SimplePanel nicht umsetzen HasClickHandlers, können Sie immer fügen Sie einen Ereignishandler mithilfe deraddHandler()
Methode.InformationsquelleAutor Amey
Verwenden Sie die
FocusPanel
.Das ist kein problem: legen Sie Ihre
<div>
mit mehreren widgets innerhalb derFocusPanel
. Oder gibt es einen Grund, warum du das nicht können?InformationsquelleAutor z00bs
Werden sollte, dass alles, was Sie brauchen.
addDomHandler
kümmern "Untergang" der Ereignis-Typ für Sie.InformationsquelleAutor dslh