Button.click

Availability

Flash Player 6.0.79.

Edition

Flash MX 2004.

Usage

Usage 1:

on(click){
  ...
}

Usage 2:

listenerObject = new Object();
listenerObject.click = function(eventObject){
  ...
}
buttonInstance.addEventListener("click", listenerObject)

Description

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.

Example

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");
}

See also

UIEventDispatcher.addEventListener()