JavaScript: Supprimer la surbrillance actuelle de la souris de la page?
-
10-07-2019 - |
Question
Supposons que je mette en surbrillance du texte sur la page à l'aide de la souris. Comment puis-je supprimer tout le texte en surbrillance à l'aide de JavaScript?
Merci.
La solution
J'ai compris la question un peu différemment. Je pense que vous voulez savoir comment supprimer le texte sélectionné du document, auquel cas vous pouvez utiliser:
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 = "";
}
}
}
Si vous souhaitez simplement effacer la surbrillance elle-même et ne pas supprimer le texte en surbrillance, procédez comme suit:
function clearSelection() {
if (window.getSelection) {
window.getSelection().removeAllRanges();
} else if (document.selection) {
document.selection.empty();
}
}
Autres conseils
IE 4 et le vieux Netscape avaient une méthode pour le faire ... Ce n’est plus correct (ni supporté).
Votre meilleure hypothèse serait d’utiliser Javascript pour se concentrer () sur un objet, puis flou () aussi - comme si l’on cliquait dessus.
document.getElementById("someObject").focus();
document.getElementById("someObject").blur();