Я заметил, что Safari фактически выделяет текст, а затем быстро удаляет выделение.
Итак, я попробовал этот быстрый обходной путь, который работает во всех браузерах:
function focusTest(el)
{
setTimeout (function () {el.select();} , 50 );
}
Редактировать:
После дальнейшего тестирования выясняется, что событие OnMouseUp очищает выделение, поэтому достаточно добавить
onMouseUp="return false;"
к элементу ввода, чтобы все работало как надо.