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 March 2017.
Resumen
Devuelve un objeto de selección representando el rango del texto seleccionado por el usuario. NB. this is nothing to do with the DOM selection list object! What the heck is 'selection list object'? -Nickolay
Sintaxis
selection = window.getSelection();
selection
es un objeto de selección.
Ejemplo
function foo() {
var selObj = window.getSelection();
alert(selObj);
var selRange = selObj.getRangeAt(0);
// ... Hacer las cosas con el rango ...
}
Notas
En JavaScript, cuando un objeto de selección es pasado a una función que espera una cadena de caracteres como parámetro (como window.alert
o document.write
), una representación de texto, del objeto de selección (e.j. el texto seleccionado) es pasado en vez del objeto en sí. Esto hace al objeto de selección parecer una cadena de caracteres (texto), cuando realmente es un objeto con sus propios métodos y propiedades. Específicamente, el valor de retorno de llamar al método toString()
del objeto de selección es lo que realmente se pasa como parámetro a la función.
En el ejemplo de arriba, selObj
es automaticamente "convertido" cuando pasó a window.alert. Sin embargo, para usar una propiedad String de JavaScript o un método como length
o substr
, debe llamar manualmente al método toString
. I'm treading carefully with the word "convert" here because it could be misinterpreted as a permanent convert - Maian
Especificación
DOM Nivel 0. No es parte de ninguna especificación.