Window.getSelection - Web API 接口参考 编辑
返回一个 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.alert
或 document.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()
,两个方法等价。
值得注意的是,目前在Firefox, Edge (非 Chromium 版本) 及 Internet Explorer 中,getSelection()
对 <textarea>
及 <input>
元素不起作用。 HTMLInputElement.setSelectionRange()
或 selectionStart
及 selectionEnd
属性可用于解决此问题。
还要注意选择不同于焦点(详见 Selection 及输入焦点)。可使用Document.activeElement
来返回当前的焦点元素.
浏览器兼容性
BCD tables only load in the browser
此页上的兼容性表是从结构化数据生成的。如果您想贡献数据,请访问 https://github.com/mdn/browser-compat-data 并向我们发送一个请求。相关链接
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论