Buscar..
Sintaxis
- Selección sel = window.getSelection ();
- Selección sel = document.getSelection (); // equivalente a lo anterior
- Rango de rango = document.createRange ();
- range.setStart (startNode, startOffset);
- range.setEnd (endNode, endOffset);
Parámetros
Parámetro | Detalles |
---|---|
startOffset | Si el nodo es un nodo de texto, es el número de caracteres desde el comienzo de startNode hasta donde comienza el rango. De lo contrario, es el número de nodos secundarios entre el comienzo de startNode y donde comienza el rango. |
endOffset | Si el nodo es un nodo de texto, es el número de caracteres desde el comienzo de startNode hasta donde termina el rango. De lo contrario, es el número de nodos secundarios entre el comienzo de startNode y donde termina el rango. |
Observaciones
La API de selección le permite ver y cambiar los elementos y el texto que están seleccionados (resaltados) en el documento.
Se implementa como una instancia de Selection
singleton que se aplica al documento y contiene una colección de objetos de Range
, cada uno representando un área seleccionada contigua.
En términos prácticos, ningún navegador excepto Mozilla Firefox admite múltiples rangos en las selecciones, y la especificación tampoco lo recomienda. Además, la mayoría de los usuarios no están familiarizados con el concepto de múltiples rangos. Como tal, un desarrollador generalmente solo puede ocuparse de un rango.
Deselecciona todo lo que está seleccionado
let sel = document.getSelection();
sel.removeAllRanges();
Selecciona los contenidos de un elemento.
let sel = document.getSelection();
let myNode = document.getElementById('element-to-select');
let range = document.createRange();
range.selectNodeContents(myNode);
sel.addRange(range);
Puede ser necesario eliminar primero todos los rangos de la selección anterior, ya que la mayoría de los navegadores no admiten varios rangos.
Consigue el texto de la selección.
let sel = document.getSelection();
let text = sel.toString();
console.log(text); // logs what the user selected
Alternativamente, como la función miembro de toString
es llamada automáticamente por algunas funciones al convertir el objeto en una cadena, no siempre tiene que llamarlo usted mismo.
console.log(document.getSelection());