MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

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

Коротко

Метод возвращает объект 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()' в этой спецификации.
Редакторский черновик Начальное определение

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

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

 

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

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

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