Name: after

Type: control structure

Syntax:
after <messageName> [<parametersList>]
   <statementList>
end <messageName>

Summary:
Defines a <message handler>.

Introduced: 6.0

OS: mac, windows, linux, ios, android

Platforms: desktop, server, mobile

Example:
after mouseUp
  answer "after mouse up received"
end mouseUp

Parameters:
messageName:


parametersList:


statementList:


Description:
The <after> handler is exclusive to behavior scripts and is sent to a
behavior script after all messages.

For example, consider a mouseDown message moving through the message
path. It gets to an object with a behavior script:

1. The engine looks at the behavior script of the target object - If a
   before mouseDown handler is present, it executes it.
2. The engine next looks at the object script - If an on mouseDown
   handler is present, it executes it.
3. The engine now looks at the behavior script - If an <after> mouseDown
   handler is present, it executes it.
4. The engine finally looks at the object script - If a pass mouseDown
   or no mouseDown handler is present, it moves on to the parent object.


An <after> handler allows developers to produce behavior scripts which
can handle messages sent to a control without having any effect on the
message path, unlike front and back scripts.

References: dispatch (command), on (control structure),
before (control structure), exit (control structure), result (function),
commandNames (function), paramCount (function),
message handler (glossary), end (keyword), private (keyword)

