User Guide
List.change 779
Description
Event; broadcast to all registered listeners when the selected index of the list changes as a result
of user interaction.
The first usage example uses a dispatcher/listener event model. A component instance
(
listInstance) dispatches an event (in this case, change) 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. For more information, see “EventDispatcher class (API)” on page 500.
Finally, you call the
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.
The second usage example uses an
on() handler and must be attached directly to a List
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 List instance
my_list, sends “_level0.my_list” to the Output panel:
on (change) {
trace(this);
}
Example
The following example adds three items to the List component. Changing the selected value
of the list causes the value of the newly selected item to be displayed in the Output panel. To
try this code, drag a List component to the Stage and give it the instance name my_list. Add
the following code to Frame 1 in the timeline:
var my_list:mx.controls.List;
my_list.addItem({data:'flash', label:'Flash'});
my_list.addItem({data:'dreamweaver', label:'Dreanweaver'});
my_list.addItem({data:'coldfusion', label:'ColdFusion'});
// Create listener object.
var listListener:Object = new Object();
listListener.change = function(evt_obj:Object) {
trace("Value changed to: " + evt_obj.target.value);
}
// Add listener.
my_list.addEventListener("change", listListener);