I noticed that Safari actually selects the text and then quickly deletes the selection.
So, I tried this quick workaround that works in all browsers:
function focusTest(el) { setTimeout (function () {el.select();} , 50 ); }
Edit:
Further testing reveals that the OnMouseUp event clears the selection, so just add
onMouseUp="return false;"
for the input element to work as it should.
source share