Existe uma função em javascript para apenas desmarcar todo o texto selecionado? Acho que deve ser uma função global simples como document.body.deselectAll();
ou algo assim.
javascript
selection
NoodleOfDeath
fonte
fonte
window.getSelection().removeAllRanges();
funciona em todos os navegadores atuais. Demonstração ao vivo: jsfiddle.net/hWMJT/1removeAllRanges()
método funciona em todos os navegadores atuais para texto dentro de parágrafos ou elementos de campo não-formulário semelhantes. Para campos de formulário (como textarea), este método não funciona no IE9 e FF5.window.getSelection().removeAllRanges();
primeiro porque é compatível com os padrões, o código proprietário deve sempre ser executado por último . Seja o ano de 2004 ou 4004, o código compatível com os padrões sempre será o que usamos, portanto, detecte-o primeiro, sem exceção!Esta é uma versão que irá limpar qualquer seleção, incluindo entradas de texto e áreas de texto:
Demo: http://jsfiddle.net/SLQpM/23/
fonte
<div>
, omouseup
evento não dispara. Em vez disso, coloque o manipulador de mouseup no documento e não haverá problema: jsfiddle.net/SLQpM/23Para o Internet Explorer, você pode usar o método vazio do objeto document.selection:
Para uma solução para vários navegadores, veja esta resposta:
Limpe uma seleção no Firefox
fonte
document.selection.clear()
funciona apenas no IE. Veja aqui: jsfiddle.net/9spL8/4 Além disso, este método irá remover o texto selecionado, não apenas desmarcá-lo. Para apenas desmarcar o texto, usedocument.selection.empty()
.Para um
textarea
elemento com pelo menos 10 caracteres, o seguinte fará uma pequena seleção e, depois de um segundo e meio, desmarcará:fonte
Isso funcionou incrivelmente mais fácil para mim ...
ou
Créditos: https://riptutorial.com/javascript/example/9410/deselect-everything-that-is-selected
fonte