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 objetoSelection. Quando convertido para string, seja adicionando uma string vazia (" ") ou usandoString.toString(), esse objeto retorna o texto selecionado.
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 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:
var selectedText = selObj.toString();
selObjé um objetoSelection.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
Loading…