JavaScript: rimuovere l'attuale evidenziazione del mouse dalla pagina?
-
10-07-2019 - |
Domanda
Supponiamo di evidenziare del testo sulla pagina usando il mouse. Come posso rimuovere tutto il testo evidenziato usando JavaScript?
Grazie.
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();