You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在什么场景下`getTargetRanges()`方法会返回多个range对象?

getTargetRanges() 返回多个Range的场景是真实存在的,并非预留的未来适配逻辑,常见触发场景如下:

  • 非连续选区操作:在可编辑区域按住Ctrl(Mac系统按住Command)选中多段不相邻的文本,执行删除、输入替换等操作时,触发的beforeinput事件会返回多个Range,每个Range对应一段选中的内容。
  • 批量拼写校正:支持多错误同时校正的输入法或编辑工具触发批量校正输入事件时,每一处需要被替换的错误文本都会对应一个独立的Range。
  • 多单元格内容操作:在可编辑表格中选中多个不相邻的单元格内容执行编辑操作时,每个单元格对应的选中内容会生成一个独立Range。

你可以用你提供的示例代码按以下步骤复现多Range的情况:

  1. 运行代码后点击可编辑区域激活编辑状态
  2. 按住Ctrl(Mac按Cmd),先用鼠标选中第一段的Hello文本,再选中第二段的tyypo文本,构造两段不连续的选中内容
  3. 按下删除键或者直接输入新内容,即可触发长度大于1的判断逻辑,弹出alert。

目前Chrome、Firefox、Safari 14及以上版本的主流现代浏览器都已支持多Range返回逻辑,你做测试覆盖上述场景即可。

内容的提问来源于stack exchange,提问作者David Mulder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 14:27:07