Existe-t-il une fonction en javascript pour simplement désélectionner tout le texte sélectionné? Je pense que ce doit être une simple fonction globale comme document.body.deselectAll();
ou quelque chose comme ça.
javascript
selection
NoodleOfDeath
la source
la source
window.getSelection().removeAllRanges();
fonctionne dans tous les navigateurs actuels. Démo en direct: jsfiddle.net/hWMJT/1removeAllRanges()
méthode fonctionne dans tous les navigateurs actuels pour le texte à l'intérieur des paragraphes ou des éléments similaires sans champ de formulaire. Pour les champs de formulaire (comme textarea), cette méthode ne fonctionne pas dans IE9 et FF5.window.getSelection().removeAllRanges();
abord car il est conforme aux normes, le code propriétaire doit toujours être exécuté en dernier . Que ce soit l'année 2004 ou le code conforme aux normes 4004 sera toujours ce que nous utilisons, alors détectez-le d'abord sans exception!Voici une version qui effacera toute sélection, y compris dans les entrées de texte et les zones de texte:
Démo: http://jsfiddle.net/SLQpM/23/
la source
<div>
l'mouseup
événement ne se déclenche pas. Mettez le gestionnaire de souris sur le document à la place et ce serait bien: jsfiddle.net/SLQpM/23Pour Internet Explorer, vous pouvez utiliser la méthode vide de l'objet document.selection:
Pour une solution multi-navigateurs, consultez cette réponse:
Effacer une sélection dans Firefox
la source
document.selection.clear()
fonctionne que dans IE. Voir ici: jsfiddle.net/9spL8/4 De plus, cette méthode supprimera le texte sélectionné, pas seulement le désélectionnera. Pour désélectionner simplement le texte, utilisez à ladocument.selection.empty()
place.Pour un
textarea
élément avec au moins 10 caractères, ce qui suit fera une petite sélection, puis après une seconde et demie, le désélectionnera:la source
Cela a fonctionné incroyablement plus facilement pour moi ...
ou
Crédits: https://riptutorial.com/javascript/example/9410/deselect-everything-that-is-selected
la source