onKeyDown (MovieClip.onKeyDown handler)

onKeyDown = function() {}

Invoked when a movie clip has input focus and user presses a key. The onKeyDown event handler is invoked with no parameters. You can use the Key.getAscii() and Key.getCode() methods to determine which key the user pressed. You must define a function that executes when the event handler is invoked. You can define the function on the timeline or in a class file that extends the MovieClip class or is linked to a symbol in the library.

The onKeyDown event handler works only if the movie clip has input focus enabled and set. First, the MovieClip.focusEnabled property must be set to true for the movie clip. Then, the clip must be given focus. You can do this by using Selection.setFocus() or by setting the Tab key to navigate to the movie clip.

If you use Selection.setFocus(), you must pass the path for the movie clip to Selection.setFocus(). It is very easy for other elements to take the focus back after a user moves the mouse.

Availability: ActionScript 1.0; Flash Player 6

Example

The following example defines a function for the onKeyDown() method that sends a trace() action to the Output panel. Create a movie clip called my_mc and add the following ActionScript to your FLA or AS file:

my_mc.onKeyDown = function () {
    trace("key was pressed");
}

The movie clip must have focus for the onKeyDown event handler to work. Add the following ActionScript to set input focus:

my_mc.tabEnabled = true;
my_mc.focusEnabled = true;
Selection.setFocus(my_mc);

When the user presses a key, key was pressed displays in the Output panel. However, this does not occur after you move the mouse, because the movie clip loses focus. Therefore, you should use Key.onKeyDown in most cases.

See also

getAscii (Key.getAscii method), getCode (Key.getCode method), onKeyDown (Key.onKeyDown event listener), focusEnabled (MovieClip.focusEnabled property), onKeyUp (MovieClip.onKeyUp handler), setFocus (Selection.setFocus method)


Flash CS3