Document: getSelection() 方法

getSelection() 方法是 Document 接口的方法,它返回与该文档关联的 Selection 对象,表示用户选择的文本范围或插入符号的当前位置。

语法

js
getSelection()

参数

无。

返回值

一个 Selection 对象,如果文档没有 浏览上下文(例如,它是未附加到文档的 <iframe> 的文档),则返回 null

示例

获取 Selection 对象

js
const selection = document.getSelection();
const selRange = selection.getRangeAt(0);
// do stuff with the range

console.log(selection); // Selection object

Selection 对象的字符串表示形式

某些函数(如 Window.alert())会自动调用 toString(),并且返回值将传递给该函数。因此,这将返回选定的文本,而不是 Selection 对象

js
alert(selection);

但是,并非所有函数都自动调用 toString()。要将 Selection 对象用作字符串,请直接调用其 toString() 方法

js
let selectedText = selection.toString();

您可以调用 Window.getSelection(),它与 window.document.getSelection() 相同。

值得注意的是,目前 getSelection() 在 Firefox 中的 <input> 元素的内容上不起作用。可以使用 HTMLInputElement.setSelectionRange() 来解决此问题。

还要注意选择焦点之间的区别。 Document.activeElement 返回获得焦点的元素。

规范

规范
Selection API
# dom-document-getselection

浏览器兼容性

BCD 表仅在浏览器中加载