User Guide

DateField.close 447
The first usage example uses a dispatcher/listener event model. A component instance
(
dateFieldInstance) dispatches an event (in this case, close) and the event is handled by a
function, also called a handler, on a listener object (
listenerObject) that you create. You
define a method with the same name as the event on the listener object; the method is called
when the event is triggered. When the event is triggered, it automatically passes an event
object (
eventObject) to the listener object method. Each event object has properties that
contain information about the event. You can use these properties to write code that handles
the event. Finally, you call the
EventDispatcher.addEventListener() method on the
component instance that broadcasts the event to register the listener with the instance. When
the instance dispatches the event, the listener is called.
For more information, see “EventDispatcher class” on page 499.
The second usage example uses an
on() handler and must be attached directly to a DateField
instance. The keyword
this, used inside an on() handler attached to a component, refers to
the component instance. For example, the following code, attached to the date field
my_df,
sends “_level0.my_df” to the Output panel:
on (close) {
trace(this);
}
Example
The following example, written on a frame of the timeline, sends a message to the Output
panel when the date chooser in
my_df closes. The first line of code creates a listener object
called
dfListener. The second line defines a function for the close event on the listener
object. Inside the function is a
trace() statement that uses the event object that is
automatically passed to the function, in this example
evt_obj, to generate a message. The
target property of an event object is the component that generated the event—in this
example,
my_df. The selectedDate property is accessed from the event objects target
property. The last line calls
EventDispatcher.addEventListener() from my_df and passes
it the
close event and the dfListener listener object as parameters.
//Create listener object.
var dfListener:Object = new Object();
dfListener.close = function(evt_obj:Object){
trace("PullDown Closed" + evt_obj.target.selectedDate);
}
//Add listener object to DateField.
my_df.addEventListener("close", dfListener);