HTMLTextAreaElement: метод setSelectionRange()
Базовая Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Метод setSelectionRange() интерфейса HTMLTextAreaElement устанавливает начальную и конечную позиции текущего выделенного текста, а также, необязательно, направление в элементе <textarea>. Направление указывает, как следует интерпретировать событие выделения; например, пользователь нажал и перетащил от конца выделенного текста к началу. Кроме того, срабатывают события select и selectchange.
Этот метод также обновляет свойства HTMLTextAreaElement.selectionStart, HTMLTextAreaElement.selectionEnd и HTMLTextAreaElement.selectionDirection.
Примечание: Элемент <textarea> должен быть сфокусирован, чтобы можно было выделить подстроку текста с помощью метода setSelectionRange(). Установка фокуса также вызывает событие selectchange.
Чтобы выделить весь текст в элементе <textarea>, используйте метод HTMLTextAreaElement.select().
Синтаксис
setSelectionRange(selectionStart, selectionEnd) setSelectionRange(selectionStart, selectionEnd, selectionDirection)
Параметры
selectionStart-
Индекс первой выделенной буквы. Индекс, больший, чем длина значения элемента, интерпретируется как ссылка на конец значения. Подробнее см. свойство
selectionStart. selectionEnd-
Индекс символа после последней выделенной буквы. Индекс, больший, чем длина значения элемента, интерпретируется как ссылка на конец значения. Если
selectionEndменьшеselectionStart, то оба значения рассматриваются как значениеselectionEnd. Подробнее см. свойствоselectionEnd. selectionDirectionНеобязательно-
Ключевое слово
"forward","backward", или по умолчанию"none"— указывающее направление, в котором выполняется выделение. Подробнее см. свойствоselectionDirection.
Возвращаемое значение
None (undefined).
Примеры
const textarea = document.getElementById("text-box");
const chars = textarea.textLength;
// if the value is more than 10 characters long
if (chars > 10) {
// Element must be focused to select a range of text within it
textarea.focus();
// select the text between the fifth character from the start and
// the fifth character from the end
textarea.setSelectionRange(5, chars - 5);
} else {
// otherwise select all the text
textarea.select();
}
Спецификации
| Спецификация |
|---|
| HTML # dom-textarea/input-setselectionrange-dev |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
setSelectionRange |
1 | 12 | 1 | ≤12.1 | 1.3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement/setSelectionRange