--- title: Window.getSelection() slug: Web/API/Window/getSelection translation_of: Web/API/Window/getSelection ---
Метод возвращает объект {{domxref("Selection")}}, представленный в виде диапазона текста, который пользователь выделил на странице.
selection = window.getSelection();
Объект {{domxref("Selection")}}.
При добавлении в параметр пустую строку или воспользовавшись методом {{jsxref("Selection.toString()")}} вам вернут строку, которую выделил пользователь.
function foo() {
var selObj = window.getSelection();
alert(selObj);
var selRange = selObj.getRangeAt(0);
// вернёт диапазон Range
}
В JavaScript при попытке передать в функцию, принимающую строку (как на пример {{ Domxref("window.alert()") }} или же {{ Domxref("document.write()") }}), функция попробует сделать из любого параметра строку, даже если этот параметр является объектом, функцией со своими методами и свойствами.
В приведённом выше примере selObj.toString() автоматически задействуется, когда мы передаём в {{domxref("window.alert()")}} переменную selObj как параметр, который должен быть строкой. Однако мы не можем использовать свойства и метода объекта String, как на пример : length, substr. В следствии чего, вам необходимо будет применить вручную метод toString(), как тут:
var selectedText = selObj.toString();
selObj это объект Selection.selectedText это строка (Выделенный текст).Вы так же можете использовать такой способ вызова {{domxref("Document.getSelection()")}}, который работает идентично {{domxref("Window.getSelection()")}}.
Поля ввода HTML (inputs) предоставляют более удобный API для работы с выделенным текстом (смотрите {{domxref("HTMLInputElement.setSelectionRange()")}}).
На заметку, разница между selection и focus. {{domxref("Document.activeElement")}} - это то, что вернётся элемент, который выделен (focused) .
| Спецификация | Статус | Комментарий |
|---|---|---|
| {{SpecName("Selection API", "#extensions-to-window-interface", "Window.getSelection()")}} | {{Spec2("Selection API")}} | Новая специф. |
| {{SpecName("HTML Editing", "#dom-window-getselection", "Window.getSelection()")}} | {{Spec2("HTML Editing")}} | Начальное определение |
{{ CompatibilityTable() }}
| Особенность | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Базовая поддержка | {{ CompatVersionUnknown() }} | {{CompatVersionUnknown}} | {{ CompatVersionUnknown() }} | 9 | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} |
| Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Базовая поддержка | {{ CompatUnknown() }} | {{CompatVersionUnknown}} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} |