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翻

相关推荐
布鲁飞丝1 分钟前
对 .NET线程 异常退出引发程序崩溃的反思
数据库·c#·.net
zcmodeltech4 分钟前
智能矿井沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的感知-传输-控制一体化方案
服务器·数据库·分布式·stm32·单片机·嵌入式硬件
明如正午8 分钟前
【python】Python + OpenCV 实现视频关键帧提取与智能去重
python·opencv·音视频
aqi0012 分钟前
15天学会AI应用开发(十八)使用LangGraph实现精确记忆功能
人工智能·python·大模型·ai编程·ai应用
swany35 分钟前
同步数据中,只需要几秒钟 & milvus向量数据库不可用 dify1.16.1 升级后踩坑记录
开发语言·python·numpy
江晓鱼未暖1 小时前
十七、Redis 核心原理与架构详解
大数据·数据库·数据仓库·redis·缓存·架构
copyer_xyf1 小时前
PostgreSQL 做向量检索:一条单库路线
数据库·agent·nestjs
Access开发易登软件1 小时前
Access 怎么做前后端分离?用 Web API 读写 SQL Server
前端·数据库·人工智能·microsoft·excel·access
Juicedata1 小时前
腾讯云 x JuiceFS:基于 FoundationDB 的企业级统一存储实践
数据库·人工智能·科技·云计算·腾讯云