Widget API: Button:RegisterForClicks
Jump to navigation
Jump to search
← Widget API ← Button < RegisterForClicks
Control which mouse button up/down events get passed to the <OnClick> event handler. See also XML registerForClicks.
button:RegisterForClicks("clicktype1" [, "clicktype2" [, ...]])
Arguments[edit]
Any number of the following strings:
- "LeftButtonUp"
- "RightButtonUp"
- "MiddleButtonUp"
- "Button4Up"
- "Button5Up"
- "LeftButtonDown"
- "RightButtonDown"
- "MiddleButtonDown"
- "Button4Down"
- "Button5Down"
- "AnyUp"
- "AnyDown"
Example[edit]
<Button> <Scripts> <OnLoad> self:RegisterForClicks("LeftButtonUp", "RightButtonDown"); </OnLoad> <OnClick> print("OnClick: "..arg1); </OnClick> <OnMouseUp> print("OnMouseUp: "..arg1); </OnMouseUp> <OnMouseDown> print("OnMouseDown: "..arg1); </OnMouseDown>
Results[edit]
Clicking the Left, Right and Middle buttons in turn will produce:
OnMouseDown: LeftButton OnMouseUp: LeftButton OnClick: LeftButton OnMouseDown: RightButton OnClick: RightButton OnMouseUp: RightButton OnMouseDown: MiddleButton OnMouseUp: MiddleButton
Details[edit]
- Buttons default to having "LeftButtonUp" registered for clicks.
- Registering for () means <OnClick> will never trigger.
- Registering for invalid event names will not cause errors; invalid names are silently ignored.
- The <OnMouseDown> and <OnMouseUp> handlers will always receieve all mouse up/down events.
- ONLY BUTTONS (and widgets that inherit from Button) HAVE OnClick HANDLERS! If you want to trap mouse button events for other objects, use the OnMouseDown and OnMouseUp events.