📅  最后修改于: 2023-12-03 14:41:45.762000             🧑  作者: Mango
getRangeAt()
方法HTML DOM getRangeAt()
方法是一种获取文本范围对象(Range)的方法,它可以用于捕获用户选择的文本范围,处理用户的输入并改变文档内容。本文将介绍该方法的语法、参数以及实例使用。
document.getSelection().getRangeAt(index);
index
:一个整数,表示文本范围对象(Range)在文本选择器对象(Selection)中的索引。
该方法返回一个文本范围对象(Range)。
假设有一个文本框,当用户选择其中的文本时,我们希望能够获取到这些文本,那么可以使用如下代码:
document.querySelector('textarea').addEventListener('mouseup', function() {
const selection = document.getSelection();
if (selection.rangeCount > 0) {
const range = selection.getRangeAt(0);
const selectedText = range.toString();
console.log(selectedText);
}
});
同样以文本框为例,当用户选择其中的文本并点击“加粗”按钮时,我们希望能够将其变为加粗文本。可以使用如下代码:
document.querySelector('textarea').addEventListener('mouseup', function() {
const selection = document.getSelection();
if (selection.rangeCount > 0) {
const range = selection.getRangeAt(0);
const selectedText = range.toString();
const boldText = document.createElement('b');
boldText.appendChild(document.createTextNode(selectedText));
range.deleteContents();
range.insertNode(boldText);
}
});
以上代码中,我们使用getRangeAt()
方法获取到用户选择的文本范围,然后将其封装为一个<b>
标签并插入文本范围中,从而将用户选中的文本变为加粗格式。
HTML DOM getRangeAt()
方法可以用于获取文本范围对象(Range),进而处理用户选择的文本,改变文档内容。需要注意的是,该方法有一个参数,表示文本范围对象在文本选择器对象中的索引,因此必须保证该索引在文本选择器对象可用范围内。