javascript - 在 HTML 中选择范围的结尾?
问题描述
假设我有一个包含 7 个子文本<div>abcdefg</div>
且范围为 [1]-[4]的元素bcd
。如何在d
不更改范围开始的情况下将用户光标放在此范围的末尾(紧随其后)?
我正在寻找类似的东西window.getSelection().addRange(range.end)
解决方案
我可能误解了你的问题。据我了解,您想在当前范围结束后立即扩展范围。
为此,您可以使用以下内容:
const node = window.getSelection().focusNode;
const range = new Range();
range.setStart(node, 1);
range.setEnd(node, 4);
// Modify the range to extend the end (I've added +1 to go beyond it)
range.setEnd(node, range.endOffset + 1);
// Apply the range
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
这也可能有帮助:Selection.extend()
我希望这回答了你的问题。如果您需要进一步说明,请告诉我。
推荐阅读
- javascript - Javascript xmlhttprequest 使 ajax 请求在后台工作而无需等待
- mysql - SQL Last Insert ID 总是返回 0
- r - 按颜色创建多边形
- node.js - 具有数据库依赖的节点项目的测试
- java - 我在使用自定义 BottomNavigation 实现 viewPager 时遇到问题
- react-admin - React Admin DateInput 禁用周末和特定日期(例如国定假日)
- pine-script - 如何使退出信号打印低于先前的进入信号?(Pine Script 交易视图 PineScript 交易视图)
- java - 如何为每个 spring boot api 调用生成一个 docker 实例并将唯一的 id 映射到每个 docker 实例?
- azure - Azure Verizon Premium CDN 启用自定义域 HTTPS 后未收到验证电子邮件
- node.js - 承诺处于待处理状态导致快递服务器未运行