SimpleButton.click

Availability

Flash Player 6 (6.0.79.0).

Edition

Flash MX 2004.

Usage

Usage 1:

var listenerObject:Object = new Object();
listenerObject.click = function(eventObj:Object){
    // ...
};
buttonInstance.addEventListener("click", listenerObject);

Usage 2:

on (click) {
    // ...
}

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 a dispatcher/listener event model. A component instance (buttonInstance) dispatches an event (in this case, click) 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 occurs. When the event occurs, it automatically passes an event object (eventObject) to the listener object method. The 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 addEventListener() (see EventDispatcher.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, see EventDispatcher class.

The second 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);
}

The behavior of this is different when used inside an on() handler that is attached to a regular Flash button symbol; in this instance, this refers to the 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.

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 specifies that the button act like a toggle switch. The second line creates a listener object called form. The third line defines a function for the click 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, eventObj) to generate a message. The target property of an event object is the component that generated the event (in this example, buttonInstance). The SimpleButton.selected property is accessed from the event object's target property. The last line calls addEventListener() from buttonInstance and passes it the click event and the form listener object as parameters.

buttonInstance.toggle = true; 
var form:Object = new Object(); 
form.click = function(eventObj:Object) {
    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.

on (click) {
    trace("button component was clicked");
}

Flash CS3


 

Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/flash/9.0/main/00003459.html