Spec-Zone.ru › Web APIs

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

См. также

  • <textarea>
  • HTMLTextAreaElement
  • HTMLTextAreaElement.select()
  • HTMLTextAreaElement.textLength
  • Selection
  • ::selection псевдоэлемент

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API