The sequence of invoking event listeners is as follows. Let us assume the onClick event is received.
Invoke event listeners for the onClick event one-by-one that are added to the targeting component, if the listeners also implement the org.zkoss.zk.ui.event.Express interface. The first added, the first called.
Invoke the script specified in the onClick attribute of the targeting component, if any.
Invoke event listeners for the onClick event one-by-one that are added to the targeting component, if the listeners don't implement the org.zkoss.zk.ui.event.Express interface. The first added, the first called.
Invoke the onClick member method of the targeting component, if any.
Invoke event listeners for the onClick event one-by-one that are added to the page that the targeting component belongs. The first added, the first called.
The org.zkoss.zk.ui.event.Express interface is a decorative interface used to alter the invocation priority of an event listener. Notice that it is meaningless if the event listener is added to pages, instead of components.