We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

Коротко

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

Синтаксис

selection = window.getSelection();

Значение

Объект Selection.

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

Пример

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(), как тут:

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

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

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

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

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

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

Спецификация Статус Комментарий
Selection API
Определение 'Window.getSelection()' в этой спецификации.
Рабочий черновик Новая специф.
HTML Editing APIs
Определение 'Window.getSelection()' в этой спецификации.
Редакторский черновик Начальное определение

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

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Особенность Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка (Да) (Да) (Да) 9 (Да) (Да)
Feature Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка ? (Да) ? ? ? ?

 

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

Метки документа и участники

Внесли вклад в эту страницу: DimaShcherbakov, ciricc
Обновлялась последний раз: DimaShcherbakov,