Name: mouseUp

Type: message

Syntax: mouseUp <mouseButtonNumber> 

Summary: Sent when the user releases the <mouse button>.

Introduced: 1.0

OS: mac,windows,linux,ios,android

Platforms: desktop,server,web,mobile

Example:
on mouseUp
  answer "You clicked" && the name of the target
end mouseUp

Parameters:
mouseButtonNumber (enum): The mouseButtonNumber specifies which mouse button was pressed:
-  1 is the mouse button on Mac OS systems and the left button on Windows and Unix systems.
-  2 is the middle button on Unix systems.
-  3 is the right button on Windows and Unix systems and Control-click on Mac OS systems.

Description:
Handle the <mouseUp> <message> to perform an action when the user releases the <mouse button> after clicking.

The <mouseUp> <message> is sent to the <control> that was clicked, or to the <card> if no <control> was under the <mouse pointer>.

The <mouseUp> <message> is sent only when the <Browse tool> is being used. If an <unlock|unlocked> <field> is clicked with <mouse button> 1 or 2, no <mouseUp> <message> is sent.

If the mouse has moved outside the control that was originally clicked before the user releases the mouse button, the mouseRelease <message> is sent instead of <mouseUp>. If the click is the second click of a double click, the <mouseDoubleUp> message is sent instead of <mouseUp>.

>*Tip:*  If the user clicks several times in rapid succession (for example, if the user clicks an "Increase" button that increases a number by 1), some of the clicks may send a <mouseDoubleUp> <message> instead of <mouseUp>. If your <script> only handles the <mouseUp> <message>, these accidental double clicks will be lost. One way to prevent this is to install a <handler> in an <object> that's further in the <message path>, to re-send double clicks:

  on mouseDoubleUp
    if "on mouseUp" is in the script of the target \
       and "on mouseDoubleUp" is not in the script of the target
    then send "mouseUp: to the target
  end mouseDoubleUp

If the user double-clicks an object whose script contains a <mouseUp> <handler> but no <mouseDoubleUp>, the above <handler> will automatically send a <mouseUp> to the <object> so the second click can be handled normally (instead of as a double-click).

>*Important:*  If the user clicks a transparent <pixel> in an <image>, the <mouseUp> <message> is sent to the <object> behind the <image>, not to the <image>.

References: script (property), mouseStillDown (message), mouseDoubleUp (message), mouseUpInBackdrop (message), control (keyword), field (glossary), handler (glossary), mouse button (glossary), Browse tool (glossary), message (glossary), message path (glossary), unlock (glossary), card (glossary), pixel (glossary), mouse pointer (glossary), image (glossary), mouseClick (function), click (command), object (object)

Tags: ui
