Klick-Ereignis aus dem Code in gwt auslösen
Habe ich eine custom-widgets in gwt die sich der Verbund.Ich bin focus-panel.Für FocusPanel ich fügte hinzu, ClickHandler.Dann habe ich Hinzugefügt, Tastatur listner.Jetzt auf drücken der Enter-Taste löst click-Ereignis.Kann irgend jemand mir helfen, um die trigger-click-Ereignis mithilfe von code in GWT?
focusPanel.addKeyPressHandler(new KeyPressHandler() {
public void onKeyPress(KeyPressEvent event) {
if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
//TODO call onClick() method
}
}
});
Dank
InformationsquelleAutor der Frage DonX | 2009-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nicht getan habe, das für ein Klick-Ereignis, aber ich habe getan, ändern Sie Veranstaltungen wie diese.
[
createClickEvent
] (http://google-web-toolkit.googlecode.com/svn/javadoc/1.6/com/google/gwt/dom/client/Document.html#createClickEvent(int,%20int,%20int,%20int,%20int,%20boolean,%20boolean,%20boolean,%20boolean)) Methode braucht viel mehr Parameter aber.InformationsquelleAutor der Antwort DLH
Habe ich dies getan-code:
Natürlich myButton muss rechtskräftig sein oder die öffentliche Sache, Sie sind in einer anderen event-handler.
InformationsquelleAutor der Antwort Rod
Können Sie auch mit einem einfachen JSNI-Methode, es zu tun. Geben Sie einfach Ihr element [z.B. ein button.getElement ()] - Methode:
InformationsquelleAutor der Antwort 11101101b
Die beschriebene Methode von DLH arbeiten soll, und mit Ausnahme für das detail-argument (ich habe keine Ahnung, was es für) Sie haben die andere Argumente an, die in der KeyPressEvent.
Andere mögliche Lösung ist der Aufruf der nativen JavaScript -
click()
auf das element. Ich habe dies in ein Button-widget (Was ist als open source). Sehenclick()
- Methode der folgenden Klasse: http://code.google.com/p/cobogw/source/browse/trunk/widgets/src/main/java/org/cobogw/gwt/user/client/ui/Button.java), die fordert, eine bestimmte Event2-Klasse, die die browser-spezifischen Versionen der click-Methode.Diese Methode verwenden, können Sie einfach fügen Sie die jar-Datei mit cobogw zu Ihrem Projekt gehören die
Event.gwt.xml
- und call -Event2.fireClickEvent(getElement());
in der Methode, oder verwenden Sie nur den code aus den Klassen Event2 und Ereignis in deinem eigenen ProjektDiese Lösung erlaubt Ihnen auch, die programmgesteuert Feuer ein click-Ereignis.
Werfen Sie auch einen Blick auf die
onBrowserEvent
Umsetzung der Button-Klasse oben genannten , da es mit der Schlüssel-Ereignis in einer ähnlichen Weise, die Sie wollen, und arbeiten, um das problem der Entlassung von mehreren wichtigen Veranstaltungen, wenn Sie nur wollen, zu erzeugen 1 klicken Sie auf event.InformationsquelleAutor der Antwort Hilbrand Bouwkamp
Bitte beachten Sie, dass die KeyPressHandler funktioniert nicht in Firefox für spezielle Tasten wie ENTER, müssten Sie das KeyUp oder KeyDown
http://code.google.com/p/google-web-toolkit/issues/detail?id=5558#c6
InformationsquelleAutor der Antwort Carlos Aguayo
Wenn das Ziel ist eine Schaltfläche, können Sie nur rufen seine
click()
Methode. Ansonsten können Sie so etwas tun:InformationsquelleAutor der Antwort tamalet
Vielleicht ClickListenerCollection.fireClick() tut, was Sie wollen. Ich habe nicht verwendet, obwohl esSorry, das ist veraltet und vielleicht nicht einmal nützlich. Ich denke, man soll schauen widget.delegateEvent statt.
InformationsquelleAutor der Antwort HerdplattenToni
Können Sie genau dies tun:
InformationsquelleAutor der Antwort Craigo