Flash Lite 2.x and 3.0 ActionScript Language Reference

onKeyDown (MovieClip.onKeyDown handler)

onKeyDown = function() {}

Invoked when a movie clip has input focus and a key is pressed. The onKeyDown event handler is invoked with no parameters. You can use the Key.getAscii() and Key.getCode() methods to determine which key was 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. This can be done either by using Selection.setFocus() or by setting the Tab key to navigate to the clip.

If Selection.setFocus() is used, the path for the movie clip must be passed to Selection.setFocus(). It is very easy for other elements to take the focus back after the mouse is moved.

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 you tab to the movie clip and press a key, key was pressed is displayed 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), focusEnabled (MovieClip.focusEnabled property), setFocus (Selection.setFocus method), onKeyDown (Key.onKeyDown event listener), onKeyUp (MovieClip.onKeyUp handler)