When you make a mouse click, the following events are fired (in order):
mousedown, mouseup, click, mousemove
even if the mouse has not moved.
Similarly, if you DO move the mouse between mousedown and mouseup, an extra mousemove event is fired after mouseup, so the events fired are
mousedown, mousemove, mouseup, mousemove
I have a similar bug. I illustrated it here : http://michaelvillar.com/tmp/click_mousemove_bdc4.html
The mousemove event is fired after a click even if the mouse doesn't move.
It appears it's working as expected in Chrome 5.0.375.70.
The problem still exists in Safari 5 and the latest Webkit nightly r61351
The bug appears to be in (void)mouseUp:(NSEvent *)event in WebHTMLView.mm. It calls [self _updateMouseoverWithFakeEvent], which in turn fires mousemove event.
Created attachment 103923 [details]
See also: bug 16271, bug 34253.
Similar issue in Chrome — http://code.google.com/p/chromium/issues/detail?id=5598