--- title: Window.getSelection() slug: Web/API/Window/getSelection translation_of: Web/API/Window/getSelection ---
{{ ApiRef() }}

Resumo

Retorna um objeto {{domxref("Selection")}} representando a parte do texto selecionada pelo usuário ou a posição atual do cursor.

Syntax

selection = window.getSelection();

Example

function foo() {
    var selObj = window.getSelection();
    alert(selObj);
    var selRange = selObj.getRangeAt(0);
    // do stuff with the range
}

Nota

Representação do objeto Selection em String

No  JavaScript, quando um objeto é passado para uma função que espera uma string (como {{ Domxref("window.alert()") }} ou {{ Domxref("document.write()") }}), o método {{jsxref("Object.toString", "toString()")}} do objeto é chamado e o valor retornado é passado para a função. Isso pode fazer com que o objeto pareça ser uma string quando usado com outras funções quando na verdade é um objeto com propriedades e métodos.

No exemplo acima, selObj.toString() é chamado automaticamente quando é passado para {{domxref("window.alert()")}}. Contudo,  tentar usar propriedades ou métodos do objeto JavaScript String como length ou substr diretamente no objeto {{domxref("Selection")}} resultará em erro se o objeto não possuir essa propriedade ou método e pode retornar valores inesperados mesmo se os tiver. Para usar um objecto Selection como uma string, faça a chamada do seu método toString() diretamente:

var selectedText = selObj.toString();

Objectos Relacionados

É útil também notar que você pode chamar {{domxref("Document.getSelection()")}},  que funciona de forma idêntica.

Inputs HTML provêm APIs mais simples para se trabalhar com seleções (veja {{domxref("HTMLInputElement.setSelectionRange()")}}).

Note a diferença entre selection e focus. {{domxref("Document.activeElement")}} retorna o elemento com foco.

Especificações

Especificação Status Comentário
{{SpecName("HTML Editing", "#dom-window-getselection", "Window.getSelection()")}} {{Spec2("HTML Editing")}} Definição inicial

Compatibilidade dos Browsers

{{ CompatibilityTable() }}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }} 9 {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }}
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }}

Veja também