Domanda

Supponiamo di evidenziare del testo sulla pagina usando il mouse. Come posso rimuovere tutto il testo evidenziato usando JavaScript?

Grazie.

È stato utile?

Soluzione

Ho capito la domanda in modo leggermente diverso. Credo che tu voglia sapere come eliminare il testo selezionato dal documento, nel qual caso potresti usare:

function deleteSelection() {
    if (window.getSelection) {
        // Mozilla
        var selection = window.getSelection();
        if (selection.rangeCount > 0) {
            window.getSelection().deleteFromDocument();
            window.getSelection().removeAllRanges();
        }
    } else if (document.selection) {
        // Internet Explorer
        var ranges = document.selection.createRangeCollection();
        for (var i = 0; i < ranges.length; i++) {
            ranges[i].text = "";
        }
    }
}

Se vuoi solo cancellare l'evidenziazione stessa e non rimuovere il testo evidenziato, il seguente dovrebbe fare il trucco:

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

Altri suggerimenti

IE 4 e Netscape precedente avevano un metodo per fare proprio questo ... Non è più corretto (né supportato).

La tua ipotesi migliore sarebbe quella di usare Javascript per mettere a fuoco () su un oggetto, e poi anche sfocatura () - come fare effettivamente clic lontano dall'oggetto.

document.getElementById("someObject").focus();
document.getElementById("someObject").blur();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top