Director Help

on keyUp

Usage

-- Lingo syntax
on keyUp
    statement(s)
end

// JavaScript syntax
function keyUp() {
    statement(s);
}

Description

System message and event handler; contains statements that run when a key is released. The on keyUp handler is similar to the on keyDown handler, except this event occurs after a character appears if a field or text sprite is editable on the screen.

When a key is released, Lingo searches these locations, in order, for an on keyUp handler: primary event handler, editable field sprite script, field cast member script, frame script, and movie script. For sprites and cast members, on keyUp handlers work only for editable strings. A keyUp event on a different type of cast member, such as a bitmap, has no effect. If releasing a key should always have the same response throughout the movie, set keyUpScript.

Lingo stops searching when it reaches the first location that has an on keyUp handler, unless the handler includes the pass command to explicitly pass the keyUp message on to the next location.

The on keyUp event handler is a good place to put Lingo that implements keyboard shortcuts or other interface features that you want to occur when the user releases keys.

When the movie plays back as an applet, an on keyUp handler always traps key presses, even if the handler is empty. If the user is typing in an editable field, an on keyUp handler attached to the field must include the pass command for the key to appear in the field.

Where you place an on keyUp handler can affect when it runs, as follows:

  • To apply the handler to a specific editable field sprite, put it in a behavior.
  • To apply the handler to an editable field cast member in general, put it in a cast member script.
  • To apply the handler to an entire frame, put it in a frame script.
  • To apply the handler throughout the entire movie, put it in a movie script.

You can override an on keyUp handler by placing an alternative on keyUp handler in a location that Lingo checks before it gets to the handler you want to override. For example, you can override an on keyUp handler assigned to a cast member by placing an on keyUp handler in a sprite script.

Example

This handler checks whether the Return key was released and if it was, sends the playhead to another frame:

-- Lingo syntax
on keyUp
    if (_key.key = RETURN) then _movie.go("AddSum")
end keyUp

// JavaScript syntax
function keyUp() {
    if (_key.keyCode == 36) {
        _movie.go("AddSum");
    }
}

See also

on keyDown, keyDownScript, keyUpScript