概述

返回一个  Selection 对象,表示用户选择的文本范围或光标的当前位置。

语法

const selection = window.getSelection() ;
  • selection 是一个 Selection 对象。 如果想要将 selection 转换为字符串,可通过连接一个空字符串("")或使用 String.toString() 方法。

示例

function foo() {
    let selObj = window.getSelection(); 
    console.log(selObj);
    let selRange = selObj.getRangeAt(0);
    // 其他代码
}

备注

在  JavaScript中,当一个对象被传递给期望字符串作为参数的函数中时(如 window.alertdocument.write),对象的toString()方法会被调用,然后将返回值传给该函数。

在上例中,selObj.toString() 会在传递到 window.alert()时自动调用。然而,当你试图在 Selection 对象上使用一个 JavaScript 的String 对象上的属性或者方法时(如 String.prototype.length 或者 String.prototype.substr()),会导致错误(如果没有相应的属性或方法时)或返回不是期望的结果(如果存在相应的属性或方法)。如果想要将 Selection 对象作为一个字符串使用,请直接调用 toString() 方法:

var selectedText = selObj.toString();
  • selObj 是一个Selection 对象,
  • selectedText 是一个字符串(被选中的文本)。

另外,你还可以使用 Document.getSelection(),两个方法等价。

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support Yes Yes                  9 (Yes) (Yes)
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? ? ? ? ?

规范

HTML Editing APIs

相关链接

 

文档标签和贡献者

最后编辑者: isLishude,