JavaScript中利用Range对象实现复杂的文本选择操作

Range 是 JavaScript 中精确控制文档文本选区的核心对象,由起点和终点定义,支持跨节点操作,需结合 Selection 实现界面反馈。JavaScript 中的 Range 对象是精确控制文档中任意文本片段选择的核心工具,比 selection API 更底层、更灵活,适合实现高亮、富文本编辑、光标定位、跨节点选区等复杂场景。理解 Range 的基本构成Range 表示文档中连续的一段内容,由起点(startContainer / startOffset)和终点(endContainer / endOffset)共同定义。起点和终点可以是文本节点、元素节点,甚至跨不同父级------这是它能处理复杂结构的关键。创建方式主要有两种:document.createRange():新建空 Range,再用 setStart()、setEnd() 或 selectNode() 等方法设定范围 getSelection().getRangeAt(0):从当前用户选区中提取已存在的 Range(需确保有选区)常见实用操作示例以下操作均基于一个已创建并配置好的 range 实例: 有道翻译AI助手 有道翻译提供即时免费的中文、英语、日语、韩语、法语、德语、俄语、西班牙语、葡萄牙语、越南语、印尼语、意大利语、荷兰语、泰语全文翻译、网页翻译、文档翻译、PDF翻

相关推荐
东方护航数据恢复(深圳)3 分钟前
医疗案例:HIS/PACS 数据库页损坏修复,医院不停诊完成恢复【东方护航数据恢复深圳店】
数据库·数据恢复·医疗·二次开盘
梦幻精灵_cq16 分钟前
sumdir——一个伪python.built-in的“术法”打造
python
lusklusklusk1 小时前
Oracle数据库基础之11_Duplicate和Dataguard和RAC
数据库·oracle
weixin_440730502 小时前
函数return、参数、参数组、递归函数、高阶函数等小结
开发语言·python
天赐范式2 小时前
天赐范式第181天:让视图开始切换——PBFT视图切换与从safety到liveness的跨越
python·pbft·数字生命·天赐范式·动态运行时·拜占庭容错
sugarzhangnotes2 小时前
【无标题】
开发语言·人工智能·python
PHP实战开发录2 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
weixin_447195293 小时前
【无标题】
pytorch·python
迅猛龙办公室3 小时前
Python实现简单的人名对话
python
阿坨3 小时前
firestart:一行命令启动你的日常应用和网页
python·pypi·cli·click