Эта статья нуждается в редакционном обзоре. Как вы можете помочь.
Метод HTMLInputElement.setSelectionRange()
устанавливает начальное и конечное положение выделения текста в элементе <input>
.
В более новых версиях браузеров, можно дополнительно установить направление выделения текста, что позволит, например, определить, что выделение сделано нажатием и перетаскиванием курсора мыши от конца выделенного текста до начала.
Этот метод позволяет одним вызовом обновить свойства HTMLInputElement.selectionStart
, selectionEnd
, и selectionDirection
.
Синтаксис
inputElement.setSelectionRange(selectionStart, selectionEnd, [optional] selectionDirection);
Параметры
- selectionStart
- Индекс первого выделенного символа.
- selectionEnd
- Индекс символа после последнего выделенного символа.
- selectionDirection Необязательный
- Строка, определяющая направления произведенного выделения. Принимаются значения "forward", "backward" или "none", если направление выделение неизвество или неважно.
Пример
Следующий код:
<!DOCTYPE html> <html> <head> <meta charset=utf-8> <title>JS Bin</title> <script> function SelectText () { var input = document.getElementById("mytextbox"); input.focus(); input.setSelectionRange(2,5); } </script> </head> <body> <p><input type="text" id="mytextbox" size="20" value="Mozilla"/></p> <p><button onclick="SelectText()">Select text</button></p> </body> </html>
приведет к следующему результату:
Спецификации
Спецификация | Статус | Комментарии |
---|---|---|
WHATWG HTML Living Standard Определение 'HTMLInputElement.setSelectionRange' в этой спецификации. |
Живой стандарт | Без изменений |
HTML5.1 Определение 'HTMLInputElement.setSelectionRange' в этой спецификации. |
Рабочий черновик | Без изменений |
HTML5 Определение 'HTMLInputElement.setSelectionRange' в этой спецификации. |
Рекомендация | Изначальное определение |
Совместимость с браузерами
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | 1.0 | 1.0 (1.7 или ранее) | 9 | 8.0 | (Да) |
selectionDirection |
15[1] | 8.0 (8.0)[2] | ? | ? | (Да)[3] |
Возможность | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Базовая поддержка | ? | ? | ? | ? | ? |
selectionDirection |
? | 8.0 (8.0)[2] | ? | ? | ? |
[1] Поддержка selectionDirection
была добавлена Blink в Баг WebKit 60403.
Требуется отметить, что согласно спецификации WHATWG forms свойства selectionStart
, selectionEnd
и метод setSelectionRange
применяются только к элементам input c типами text, search, URL, tel и password. Начиная с версии 33, Chrome, выдает исключение во время попытки доступа к этим свойствам и методу на других типах элемента input. Например, для элемента input типа number появится исключение с сообщением: "Failed to read the 'selectionStart' property from 'HTMLInputElement': The input element's type ('number') does not support selection." Ссылки по теме: вопрос на StackOverflow, whatwg баг, Chromium баг.
[2] Поддержка selectionDirection
была добавлена в Gecko в баг 674558.
[3] Поддержка selectionDirection
была добавлена в Webkit в Баг WebKit 60403.