

Android smartphone homescreen icons usually initiate a "move" when you hold down on an item for a certain amount of time without moving.

Yes, if a button or UI element should carry out a different action when "holding" down the mouse, you always have to specify a certain time threshold to differentiate between a click or another action. Any click usually does have a holding period between the down and up events. It's also almost impossible to press down the mouse button for just "one frame". Though there are menus which would cancel the action. Pressing down on one menu item but releasing on another would usually trigger the element you relased the mouse on. Most drop down menus are often considered one element. When you relase outside the button, no click is generated. A click is only generated when you press down and relase the button at the same spot (with an error margin since you usually can't hold your mouse perfectly stationary during a mouse down).Īlmost any UI system allows to cancel / prevent a click when you press down on a button and then simply move off the button while the mouse is down. When you move the mouse with the held down button you usually initiate a drag event once you move a certain distance. Try pressing on any link and hold the mouse down. Though a good counterexample are web browsers / websites and links. Though usually for ordinary buttons you can press down on the left side and release on the right side and it would be a click.

So when the mouse is moved too far, no click is produced. Some frameworks even consider a max mouse delta between the down and up events. For UI elements that usually means that the mouse button up event happened on the same element as the mouse button down event, otherwise no click would be produced. Also a click usually has additional requirements. First of all a click usually fires when the mouse button is released, not when it's pressed down. Click to expand.That's not how a click works in pretty much any UI system.
