Passing Events from a Behavior

We have covered in previous pages how to pass objects and data to a Behavior. But a Behavior not only accepts data -- it also generates events according to your specifications. In our Blinking Soccer Ball example, we define an event called onFifthBlink, which signals the fifth blink of the soccer image. Behavior's events are defined in the scriptlet's interface section, in the Behavior type of IMPLEMENTS tags:

The generation of the event inside the scriptlet's implementation section is accomplished via the fireEvent() method. In our example, we simply count the number of blinks and then invoke the fireEvent() function after five blinks:

Notice that we count to 10 instead of 5, because each blink consists of two visibility changes. Also, we reset the counter variable, to allow the event to be fired after every five blinks, not necessarily the first five.

The fired events are associated with the DHTML element from which the Behavior was called. In our Blinking Soccer example, we just pop up an alert box every five blinks: