This is more like user interface desgin question. Generally actions, which do not change state, can (and are) processed in mousedown (and optionally up) - for example selecting control or selecting text or dragging something. Actions, which change state (of content), must be somehow proteced from accidental mousedown and they are generally processed in mouseup or click events. Actions, which change general/environmental state (navigating), are usualy processed in click or doubleclick events.
Some desktop programs and some browser pages do behave differently; I personally hate when page authors think they know better than windows UI team and break common logic.
In touch interfaces something can be different.
This is mostly windows logic, browsers tend to follow. You can create extension, hooking mousedown events and depend on element under mouse, force actions for click and doubleclick. Is there any such extension available, I have no clue.