Gibt es eine Funktion in Javascript, um die Auswahl des gesamten ausgewählten Textes aufzuheben? Ich denke, es muss eine einfache globale Funktion sein document.body.deselectAll();
oder so.
javascript
selection
Nudel des Todes
quelle
quelle
window.getSelection().removeAllRanges();
in allen aktuellen Browsern funktioniert. Live-Demo: jsfiddle.net/hWMJT/1removeAllRanges()
Methode funktioniert in allen aktuellen Browsern für Text in Absätzen oder ähnlichen Nicht-Formularfeldelementen. Für Formularfelder (wie Textbereiche) funktioniert diese Methode in IE9 und FF5 nicht.window.getSelection().removeAllRanges();
zuerst verwenden, da standardkonformer, proprietärer Code immer zuletzt ausgeführt werden sollte . Sei es der Code, der den Standards von 2004 oder 4004 entspricht, wird letztendlich immer das sein, was wir verwenden. Erkennen Sie ihn also ausnahmslos zuerst!Hier ist eine Version, die jede Auswahl löscht, auch innerhalb von Texteingaben und Textbereichen:
Demo: http://jsfiddle.net/SLQpM/23/
quelle
<div>
dasmouseup
Ereignis nicht ausgelöst. Setzen Sie stattdessen den Mouseup-Handler auf das Dokument und es wäre in Ordnung: jsfiddle.net/SLQpM/23Für Internet Explorer können Sie die leere Methode des document.selection-Objekts verwenden:
Eine browserübergreifende Lösung finden Sie in dieser Antwort:
Deaktivieren Sie eine Auswahl in Firefox
quelle
document.selection.clear()
funktioniert nur im IE. Siehe hier: jsfiddle.net/9spL8/4 Auch diese Methode entfernt den markierten Text nicht einfach deaktivieren. Verwenden Siedocument.selection.empty()
stattdessen , um die Auswahl des Texts aufzuheben.Für ein
textarea
Element mit mindestens 10 Zeichen wird im Folgenden eine kleine Auswahl getroffen und nach anderthalb Sekunden die Auswahl aufgehoben:quelle
Das hat für mich unglaublich einfacher geklappt ...
oder
Credits: https://riptutorial.com/javascript/example/9410/deselect-everything-that-is-selected
quelle