Pregunta simple para la que no puedo encontrar la respuesta: ¿cómo puedo usar JavaScript (o jQuery) para anular la selección de cualquier texto que pueda seleccionarse en una página web? Por ejemplo, el usuario hace clic y arrastra para resaltar un poco de texto. Quiero tener una función deselectAll () que borra esta selección. ¿Cómo debo hacer para escribirlo?
Gracias por la ayuda.
javascript
jquery
hombre1
fuente
fuente
document.selection
implica la existencia de unempty()
método de la misma. Has probado el método en cualquier otro caso, por lo que también podrías probarloempty
en el caso final.window.getSelection().removeAllRanges();
funciona bien en IE (edge) y Safari.Lo mejor para probar las funciones que desea directamente:
fuente
Estado de los asuntos de des-selección 2014
Investigué por mi cuenta. Aquí está la función que escribí y estoy usando en estos días:
Básicamente,
getSelection().removeAllRanges()
actualmente es compatible con todos los navegadores modernos (incluido IE9 +). Este es claramente el método correcto para avanzar.Los problemas de compatibilidad explicaron:
getSelection().empty()
document.selection.empty()
Actualizar
Probablemente sea una buena idea concluir esta funcionalidad de selección para su reutilización.
He hecho de esto un wiki comunitario para que ustedes puedan agregar funcionalidad a esto o actualizar cosas a medida que evolucionan los estándares.
fuente
Aquí está la respuesta aceptada, pero en dos líneas de código:
El único freno que no hago es para la existencia de removeAllRanges - pero que yo sepa no hay ningún navegador que tiene, ya sea
window.getSelection
odocument.selection
sino no tener ya sea una.empty
o.removeAllRanges
para esa propiedad.fuente
window.getSelection () le permite acceder al texto seleccionado, a partir de ahí, hay algunas cosas que puede hacer para manipularlo.
Leer más: Desarrollador Mozilla DOM Selection
fuente
agregue esto a su script para evitar hacer clic derecho y seleccionar texto.
Se pueden agregar excepciones a var 'om'.
fuente