Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.

View in English Always switch to English

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 ⁨julho de 2015⁩.

Resumo

Retorna um objeto Selection representando a parte do texto selecionada pelo usuário ou a posição atual do cursor.

Syntax

selection = window.getSelection();
  • selection é um objeto Selection. Quando convertido para string, seja adicionando uma string vazia (" ") ou usando String.toString(), esse objeto retorna o texto selecionado.

Example

js
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 window.alert() ou document.write()), o método 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 window.alert(). Contudo, tentar usar propriedades ou métodos do objeto JavaScript String como length ou substr diretamente no objeto 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:

js
var selectedText = selObj.toString();
  • selObj é um objeto Selection.
  • selectedText é uma string (Selected text).

Objectos Relacionados

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

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

Note a diferença entre selection e focus. Document.activeElement retorna o elemento com foco.

Especificações

Specification
Selection API
# dom-window-getselection

Compatibilidade com navegadores

Veja também