Yay! I just solved the problem.
The solution in Firefox (at least in my case) is to call event.preventDefault() in the onmousedown event handler.
Code:
function handleMouseDown(event) {
event.preventDefault();
...
}
A second solution is to return false from the onmousedown event handler. This also works.
Code:
function handleMouseDown(event) {
...
return false;
}
<sometag ... onmousedown="return handleMouseDown(event)"/>
I still don't know the exact scenario that causes the problem since it's not always needed...probably the element nesting plays a part.
Hopefully this thread helps someone else someday.