Window.getSelection()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Коротко

Метод возвращает объект Selection, представленный в виде диапазона текста, который пользователь выделил на странице.

Синтаксис

selection = window.getSelection();

Значение

Объект Selection.

При добавлении в параметр пустую строку или воспользовавшись методом Selection.toString() вам вернут строку, которую выделил пользователь.

Пример

js
function foo() {
  var selObj = window.getSelection();
  alert(selObj);
  var selRange = selObj.getRangeAt(0);
  // вернёт диапазон Range
}

Примечания

String representation of the Selection object

В JavaScript при попытке передать в функцию, принимающую строку (как на пример window.alert() или же document.write()), функция попробует сделать из любого параметра строку, даже если этот параметр является объектом, функцией со своими методами и свойствами.

В приведённом выше примере selObj.toString() автоматически задействуется, когда мы передаём вwindow.alert() переменную selObj как параметр, который должен быть строкой. Однако мы не можем использовать свойства и метода объекта String, как на пример : length, substr. В следствии чего, вам необходимо будет применить вручную метод toString(), как тут:

js
var selectedText = selObj.toString();
  • selObj это объект Selection.
  • selectedText это строка (Выделенный текст).

Родственные объекты

Вы так же можете использовать такой способ вызова Document.getSelection(), который работает идентично Window.getSelection().

Поля ввода HTML (inputs) предоставляют более удобный API для работы с выделенным текстом (смотрите HTMLInputElement.setSelectionRange()).

На заметку, разница между selection и focus. Document.activeElement - это то, что вернётся элемент, который выделен (focused) .

Спецификации

Specification
Selection API
# dom-window-getselection

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
getSelection

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Смотрите также