📜  如何在 JavaScript 中获取突出显示选定的文本?(1)

📅  最后修改于: 2023-12-03 15:24:13.385000             🧑  作者: Mango

如何在 JavaScript 中获取突出显示选定的文本?

在Web开发中,有时需要获取用户在页面上所选中的部分文字或文本。

JavaScript提供了多种方法来获取选中的文本。本文将介绍其中几种方法。

方法一:使用window.getSelection()
const selection = window.getSelection().toString();
console.log(selection);

此方法可以获取当前选定文本的纯文本内容。需要注意的是,当用户未选择任何文本时,该方法将返回一个空字符串。

方法二:使用document.getSelection()
const selection = document.getSelection().toString();
console.log(selection);

此方法与window.getSelection()类似,可以获取当前选定文本的纯文本内容。

方法三:使用range对象
const range = window.getSelection().getRangeAt(0);
const selection = range.toString();
console.log(selection);

此方法使用range对象来获取选定文本。通过range可以获取选定文本的更多信息,例如选定文本的起始位置、结束位置等。需要注意的是,当用户未选择任何文本时,range对象将不存在。

方法四:使用document.activeElement属性
const active = document.activeElement;
const selection = active.value.substring(active.selectionStart, active.selectionEnd);
console.log(selection);

此方法适用于在文本输入框或富文本编辑器中获取选定文本。通过document.activeElement属性可以获取当前获得焦点的元素,然后可以使用该元素的value属性来获取文本框中当前选中的文本。

总结

以上是几种获取选中文本的方法,开发人员可以根据实际情况选择合适的方法。在做选中文本相关的开发时,需要注意浏览器的兼容性,尤其是在处理range对象时需要更加谨慎。