Window: getSelection() Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.
Die getSelection()
Methode der Window
Schnittstelle gibt das Selection
Objekt zurück, das mit dem document
des Fensters verknüpft ist und den vom Benutzer ausgewählten Textbereich oder die aktuelle Position des Carets darstellt.
Syntax
getSelection()
Parameter
Keine.
Rückgabewert
Ein Selection
Objekt oder null
, wenn das zugehörige Dokument keinen Browsing-Kontext hat (zum Beispiel, wenn das Fenster ein <iframe>
ist, das nicht an ein Dokument angehängt ist).
Wenn es auf einem nicht angezeigten <iframe>
aufgerufen wird (z.B. wenn display: none
gesetzt ist), gibt Firefox null
zurück, während andere Browser ein Selection
Objekt mit Selection.type
auf None
gesetzt zurückgeben.
Beispiele
function foo() {
const selObj = window.getSelection();
alert(selObj);
const selRange = selObj.getRangeAt(0);
// do stuff with the range
}
Hinweise
Zeichenfolgenrepräsentation des Selection-Objekts
In JavaScript wird die Methode toString()
eines Objekts aufgerufen und der zurückgegebene Wert an die Funktion übergeben, wenn ein Objekt an eine Funktion übergeben wird, die eine Zeichenfolge erwartet (wie window.alert()
oder document.write()
).
Dies kann das Objekt wie eine Zeichenfolge erscheinen lassen, wenn es mit anderen Funktionen verwendet wird, obwohl es wirklich ein Objekt mit Eigenschaften und Methoden ist.
Im obigen Beispiel wird selObj.toString()
automatisch aufgerufen, wenn es an window.alert()
übergeben wird. Der Versuch, eine JavaScript String Eigenschaft oder Methode wie
length
oder
substr
direkt auf ein Selection
Objekt anzuwenden, führt zu einem Fehler, wenn es diese Eigenschaft oder Methode nicht hat, und kann unerwartete Ergebnisse liefern, wenn es diese hat. Um ein Selection
-Objekt als Zeichenfolge zu verwenden, rufen Sie direkt seine toString()
Methode auf:
const selectedText = selObj.toString();
selObj
ist einSelection
Objekt.selectedText
ist eine Zeichenfolge (Ausgewählter Text).
Verwandte Objekte
Sie können Document.getSelection()
aufrufen, welches identisch zu Window.getSelection()
funktioniert.
Es ist zu beachten, dass getSelection()
derzeit nicht auf den Inhalt von <textarea>
und <input>
Elementen in Firefox und Edge (Legacy) funktioniert. HTMLInputElement.setSelectionRange()
oder die Eigenschaften selectionStart
und selectionEnd
könnten verwendet werden, um dies zu umgehen.
Beachten Sie auch den Unterschied zwischen Selektion und Fokus.
Document.activeElement
gibt das fokussierte Element zurück.
Spezifikationen
Specification |
---|
Selection API # dom-window-getselection |
Browser-Kompatibilität
BCD tables only load in the browser