Nicolas Bouliane

input.select() does not work on iOS

Posted on

The recommended method to give a text field focus and select its contents is the following:

document.getElementById('myInput').select();

However, this does not work in iOS. The correct way to do it is to use setSelectionRange on an already focused input.

var input = document.getElementById('myInput');
input.focus();
input.setSelectionRange(0,99999);

setSelectionRange will not work on iOS if the element doesn’t have focus. Also be advised that anything revolving around giving text inputs focus is highly unreliable on mobile Safari.