Jedes Widget enthält eine Gruppe von Eigenschaften zur Angabe der Funktionen, die als Antwort auf Laufzeitereignisse aufgerufen werden. Die Funktion wird in diesem Fall auch als Ereignishandler (Ereignisverarbeitungsfunktion) bezeichnet.
In der folgenden Tabelle werden die verfügbaren Ereignisse aufgeführt, wobei Widgets bestimmter Typen auf bestimmte Ereignisse antworten. Schaltflächen (Widgets 'Button') antworten zum Beispiel auf onClick-Ereignisse, jedoch nicht auf onChange-Ereignisse. Beachten Sie auch, dass zwei Benutzeraktionen Ereignisse wie "Fokuserhalt" (onFocusGained: durch Ansteuern mit der Tabulatortaste oder Auswahl des Widgets) oder "Fokusverlust" (onFocusLost: durch Ansteuern mit der Tabulatortaste oder Auswahl eines anderen Widgets) beinhalten.
| Ereignis | Bedeutung |
|---|---|
| onChange | Ein Ereignis 'onChange' tritt auf, wenn der Benutzer ein Widget wechselt und den Anzeigefokus von diesem Widget wegbewegt, auch wenn der Benutzer den Wechsel wieder rückgängig macht. |
| onClick | Ein Ereignis 'onClick' tritt auf, wenn der Benutzer auf das Widget klickt. |
| onFocusGained | Ein Ereignis 'onFocusGained' tritt auf, wenn das Widget den Fokus erhält. |
| onFocusLost | Ein Ereignis 'onFocusLost' tritt auf, wenn das Widget den Fokus verliert. Ein funktional entsprechendes Ereignis in JavaScript ist 'onBlur'. |
| onKeyDown | Ein Ereignis 'onKeyDown' tritt auf, wenn der Benutzer eine beliebige Taste drückt. In vielen Browsern tritt das Ereignis wiederholt auf, solange der Benutzer die Taste drückt. Auf jedes Auftreten eines Ereignisses 'onKeyDown' folgt ein Auftreten des Ereignisses 'onKeyPress'. |
| onKeyPress | Ein Ereignis 'onKeyPress' tritt auf, wenn der Benutzer eine beliebige Taste drückt. In vielen Browsern tritt das Ereignis wiederholt auf, solange der Benutzer die Taste drückt. Jedem Auftreten des Ereignisses 'onKeyPress' geht ein Auftreten des Ereignisses 'onKeyDown' voran. |
| onKeyUp | Ein Ereignis 'onKeyUp' tritt auf, wenn der Benutzer eine gedrückte Taste wieder loslässt. |
| onMouseDown | Ein Ereignis 'onMouseDown' tritt auf, wenn der Benutzer eine der Maustasten drückt. |
| onMouseMove | Ein Ereignis 'onMouseMove' tritt wiederholt auf, wenn der Benutzer die Maus bewegt, während sich der Cursor auf der Anzeige innerhalb der Begrenzung des Widgets befindet. |
| onMouseOut | Ein Ereignis 'onMouseOut' tritt in dem Moment auf, wenn während der Mausbewegung durch den Benutzer der Cursor auf der Anzeige das Widget verlässt. |
| onMouseOver | Das Ereignis 'onMouseOver' ist ein Ereignis, das in JavaScript als 'onMouseIn' hätte bezeichnet werden können. Das Ereignis tritt in dem Moment auf, wenn während der Mausbewegung durch den Benutzer der Cursor auf der Anzeige in das Widget eintritt. Mithilfe dieses Ereignis können Sie zum Beispiel das Cursorsymbol für einen bestimmten Bereich der Seite ändern. |
| onMouseUp | Ein Ereignis 'onMouseUp' tritt auf, wenn der Benutzer nach dem Drücken einer Maustaste die Taste wieder loslässt. |
| onSelect | Ein Ereignis 'onSelect' tritt auf, wenn Text in einem Widget 'TextArea' oder 'TextField' ausgewählt wird. |
myButton Button { text = "Copy Input to Output", onClick ::= click };
Der Operator ::= hängt die Funktion mit dem Namen 'click' an die dynamische Feldgruppe an. Ein Effekt der Deklaration des Widgets besteht darin, dass unverzüglich eine Gruppe von ereignisbezogenen Feldgruppen verfügbar wird, wobei jede Feldgruppe nach einem Ereignis benannt ist.
myButton Button { text = "Start", onClick ::= click, onClick ::= function02 };
myButton.onClick ::= function03;
In diesem Beispiel bewirkt jetzt ein Klick des Benutzers den Aufruf der Funktion 'click', dann der Funktion 'function02' und schließlich der Funktion 'function03'.
hLink HyperLink { text = "www.ibm.com",
href = "http://www.ibm.com",
onClick ::= handleClickLink };
function handleClickLink(e Event in)
// Zugriff nur für Personal mit einem explizit definierten Status zulassen
if (...)
return;
end
e.preventDefault();
end
Wenn ein Widget in einem Container keine Gruppe von Ereignishandlern eines bestimmten Typs hat, wird das Ereignis für den Container verfügbar gemacht. Wenn sich zum Beispiel eine Schaltfläche (Button) in einem Feld (Box) mit dem Namen B befindet und die Schaltfläche ein onClick-Ereignis nicht verarbeitet, wird das Ereignis für B verfügbar gemacht. Dieses Verhalten wird als Ereignisweitergabe bezeichnet und erstreckt sich auf Container von Containern bis zu einer beliebigen Ebene in der Containerhierarchie. Wenn sich B beispielsweise selbst in einem Feld (Box) mit dem Namen A befindet und weder die Schaltfläche noch das Feld B das onClick-Ereignis verarbeiten, wird das Ereignis für A verfügbar gemacht.
Wenn ein Ereignis durch ein Widget auf einer beliebigen Ebene in der Containerhierarchie verarbeitet wurde, wird das Ereignis nicht mehr an ein einbettendes Widget weitergegeben.
Rich-UI stellt eine Methode bereit, mit der Ereignistypen definiert werden können, die für ein bestimmtes Unternehmen spezifisch sind. Details finden Sie im Abschnitt “Rich-UI-Widgetgruppe erweitern”, und zwar insbesondere im Abschnitt zur Eigenschaft @VEEvent.