![]() ![]() ![]() | |
![]() | |
![]() | |
![]() |
Flash Player 6.0.79.
Flash MX 2004.
Usage 1:
on(click){
...
}
Usage 2:
listenerObject
= new Object();listenerObject
.click = function(eventObject
){...
}buttonInstance
.addEventListener("click",listenerObject
)
Event; broadcast to all registered listeners when the mouse is clicked (released) over the button or if the button has focus and the Spacebar is pressed.
The first usage example uses an on()
handler and must be attached directly to a Button component 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 Button component instance myButtonComponent
, sends "_level0.myButtonComponent" to the Output panel:
on(click){ trace(this); }
Please note that this differs from the behavior of this
when used inside an on()
handler attached to a regular Flash button symbol. When this
is used inside an on()
handler attached to a button symbol, it refers to the Timeline that contains the button. For example, the following code, attached to the button symbol instance myButton
, sends "_level0" to the Output panel:
on(release){ trace(this); }
Note: The built-in ActionScript Button object doesn't have a click
event; the closest event is release
.
The second usage example uses a dispatcher/listener event model. A component instance (buttonInstance
) dispatches an event (in this case, click
) and the event is handled by a function attached to 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. The event object has a set of properties that contains information about the event. You can use these properties to write code that handles the event. Finally, you call the addEventListener()
method (See UIEventDispatcher.addEventListener()
) 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 about event objects, see Event Objects.
This example, written on a frame of the Timeline, sends a message to the Output panel when a button called buttonInstance
is clicked. The first line of code labels the button. The second line specifies that the button act like a toggle switch. The third line creates a listener object called form
. The fourth line defines a function for the click
event on the listener object. Inside the function is a trace action that uses the event object that is automatically passed to the function (in this example, eventObj
), to generate a message. The target
property of an event object is the component that generated the event (in this example, buttonInstance
). The Button.selected
property is accessed from the event object's target
property. The last line calls the addEventListener()
method from buttonInstance
and passes it the click
event and the form
listener object as parameters, as in the following:
buttonInstance.label = "Click Test" buttonInstance.toggle = true; form = new Object(); form.click = function(eventObj){ trace("The selected property has changed to " + eventObj.target.selected); } buttonInstance.addEventListener("click", form);
The following code also sends a message to the Output panel when buttonInstance
is clicked. The on()
handler must be attached directly to buttonInstance
, as in the following:
on(click){ trace("button component was clicked"); }
UIEventDispatcher.addEventListener()
![]() | |
![]() | |
![]() | |
![]() ![]() ![]() |