Widget Events
A widget event is the widget-level event (Event).
Like Event at the server side, the widget event can be anything, and can be triggered by a widget or an application to notify a widget-level or application-level event, such as a window has been moved.
In additions, ZK Client Engine intercepts most DOM events and encapsulate them into widgets events, such that it is easier and more efficient for component developers to handle events at widget-level (rather than DOM-level, Event).
Event Listening for Application Developers
To listen a widget event, you could invoke Widget.listen(Map, int) to listen the widget event you want. However, Widget.listen(Map, int) is designed for applications to listen events at the client. For component development, the method overriding is suggested as described in the following subsections.
The signature of an event listener is as follows.
function (event) { //an instance of zk.Event
}
Event Listening for Component Developers
Event Propgation
A widget event will be propagated to the parent widget, parent's parent and so on, until stopped (Event.stop(Map)). Then, if the event is required by the server, it will be sent to the server, and converted to an instance of AuRequest at the server[1].
- ↑ For more information, please refer to the AU Requests section.
Event Firing
To fire a widget event, you could invoke Widget.fire(String, Object, Map, int) or Widget.fireX(Event, int).
Then, the listeners registered with Widget.listen(Map, int) will be invoked one-by-one. Then, it will be sent to the server, if an event listener has been registered at the server or it is an import event[1].
A client-side event listener could stop the sending of a widget event to the server by invoking Event.stop(Map) with {au:true}
, such as
evt.stop({au: true});
- ↑ For more information, please refer to the AU Requests section.
Version History
Version | Date | Content |
---|---|---|