javascript - page - tr html




Selección de ventana de configuración de JavaScript (2)

Borrar la selección en todos los principales navegadores:

function clearSelection() {
    if (window.getSelection) {
        window.getSelection().removeAllRanges();
    } else if (document.selection) {
        document.selection.empty();
    }
}

La selección de contenido requiere el uso de los objetos DOM Range y Selection en la mayoría de los navegadores y los objetos de TextRange en IE <9. Este es un ejemplo simple de navegador cruzado que selecciona el contenido de un elemento en particular:

function selectElement(element) {
    if (window.getSelection) {
        var sel = window.getSelection();
        sel.removeAllRanges();
        var range = document.createRange();
        range.selectNodeContents(element);
        sel.addRange(range);
    } else if (document.selection) {
        var textRange = document.body.createTextRange();
        textRange.moveToElementText(element);
        textRange.select();
    }
}

En JavaScript, hay un método window.getSelection() , que me permite obtener la selección actual que el usuario ha realizado.

¿Hay una función correspondiente, algo como window.setSelection() , que me permita configurar, o borrar, la selección actual?


En los navegadores que admiten las cosas "selección" y "rango", querrá crear un objeto de rango y luego establecer su inicio / fin. La documentación de Mozilla para el objeto "rango" tiene mucha información.

Chrome no admite esto, al menos no con esa API, y apuesto a que Safari tampoco.

edit : gracias a @Tim Down por señalar que WebKit (Chrome y Safari) sí lo admiten, lo que significa que mi jsfiddle tenía un error tipográfico o algo así.





clear