How to make element not lose focus when button is pressed?
You can't stop the focus from moving to a focusable element and still allow the mouse click to have its normal behavior (such as click
the button). If you click on an element that supports focus such as a button, it will get the keyboard focus.
It is possible to programmatically put focus back on an element if done properly. If done poorly, it can ruin the usability of a page.
Demo: JSFiddle
Handle the mousedown-event instead of the click-event. The mousedown event will be handled before the focus of another element is lost.
In your mousedown eventhandler, you need to to prevent event default behavior.
e.preventDefault(); // in your mousedown eventhandler
JS-Fiddle demo