¿Existe una función en javascript para deseleccionar todo el texto seleccionado? Supongo que tiene que ser una función global simple como document.body.deselectAll();
o algo así.
javascript
selection
NoodleOfDeath
fuente
fuente
window.getSelection().removeAllRanges();
funciona en todos los navegadores actuales. Demostración en vivo: jsfiddle.net/hWMJT/1removeAllRanges()
método funciona en todos los navegadores actuales para texto dentro de párrafos o elementos similares que no son campos de formulario. Para campos de formulario (como textarea), este método no funciona en IE9 y FF5.window.getSelection().removeAllRanges();
primero porque es compatible con los estándares, el código propietario siempre debe ejecutarse en último lugar . Ya sea en el año 2004 o en el año 4004, el código que cumple con los estándares siempre será lo que usamos en última instancia, ¡así que detectelo primero sin excepción!Aquí hay una versión que borrará cualquier selección, incluso dentro de las entradas de texto y las áreas de texto:
Demostración: http://jsfiddle.net/SLQpM/23/
fuente
<div>
, elmouseup
evento no se activa. En su lugar, coloque el controlador del mouseup en el documento y estaría bien: jsfiddle.net/SLQpM/23Para Internet Explorer, puede utilizar el método vacío del objeto document.selection:
Para una solución de varios navegadores, consulte esta respuesta:
Borrar una selección en Firefox
fuente
document.selection.clear()
funciona en IE. Vea aquí: jsfiddle.net/9spL8/4 Además, este método eliminará el texto seleccionado, no solo lo deseleccionará. Para anular la selección del texto, utilice en su lugar.document.selection.empty()
Para un
textarea
elemento con al menos 10 caracteres, lo siguiente hará una pequeña selección y luego, después de un segundo y medio, lo deseleccionará:fuente
Esto funcionó increíblemente más fácil para mí ...
o
Créditos: https://riptutorial.com/javascript/example/9410/deselect-everything-that-is-selected
fuente