修改innerHTML后保存/恢复内容可编辑的选择

2023-11-24

我知道在 contentEditable 中获取/设置光标位置几乎是不可能的。我不在乎知道这些信息。我需要能够保存当前选择,修改 div 的innerHTML,然后恢复选择。

我一直在尝试提供的答案contenteditable 选定的文本保存和恢复。输入 div 后有效,但输入后无效以编程方式修改div的innerHTML。相反,当我调用 RestoreSelection 时,插入符号只是转到开头。

任何关于如何在修改innerHTML而不是键入后能够保存/恢复contentEditable上的选择的建议将不胜感激。


如果您正在对现有的进行某种字符串替换innerHTML您的可编辑元素,您也许可以使用我的Rangy图书馆及其保存/恢复选择模块。它使用具有特定 ID 的不可见元素来标记选择的开始和结束边界,因此如果您innerHTML更改不包含这些元素,那么这将不起作用。

另一种替代方法是纯粹基于元素文本节点内的字符索引来执行此操作。我在这里写了一个简单的实现:https://stackoverflow.com/q/5596688/96100

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

修改innerHTML后保存/恢复内容可编辑的选择 的相关文章

随机推荐

  • 将 Node crypto aes-256-cbc 转换为 CryptoJS

    如何转换以下Node的内置加密模块加密 to CryptoJS const crypto require crypto const pass some password with gt spec chars const cipher1 cr
  • 鼠标点击触发shift

    我可以触发点击事件element selector using trigger element selector trigger click Is it possible to trigger shift click I mean shif
  • 有哪些技术可用于发送短信? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在考虑向订阅用户列表发送定期自动短信 在使用过 Windows Mobile 设备后 我可以使用紧凑的 Net 框架 连接到 USB 的设备轻松
  • InputConnection.finishCompositingText() 方法中的空指针异常[重复]

    这个问题在这里已经有答案了 我在 inputmethod InputConnection finishCompositingText 中收到 NPE 日志消息如下 java lang NullPointerException Attempt
  • 动态应用内购买

    这个问题 Android 应用内计费动态产品列表 是在 3 年前被问到的 Android 仍然无法使用动态应用内购买项目吗 我希望实现此类功能的原因是因为我的应用程序提供了一种让某些用户创建自己的应用程序内购买以供其他人购买的方法 似乎另一
  • 为什么在向量循环中使用“!=”比使用“<”更好?(C++)

    为什么在向量循环中使用 比使用 因为您正在使用迭代器 并且它会使循环看起来与其他容器完全相同 所以您是否应该选择切换到其他容器类型 例如 set list unordered set 等 其中
  • 用递归解决动态嵌套for循环

    我试图得到如下所示的结果 Miniors Boys 54kg 62kg其中每个值均由管道 分隔来自包含某种 限制类型 的数组 例如 ageGroups genders weightClasses 如上所示 我现在能够得到这个结果的方法是 如
  • Java 9中如何让自动模块找到自己的资源?

    我试图让我的应用程序与 Java 9 一起运行 但不幸的是 当它尝试使用以下命令加载资源时 它是普通的 jar 依赖项之一 classLoader getResource name 得到一个空值 当然 这在 Java 8 中是有效的 我使用
  • 如何在 lesscss 中进行主题化

    当我处于开发应用程序的预生产周期时 我经常改变视觉效果 以便与客户验证的内容保持一致 保留同一页面的一些视觉效果 称为主题 会很有趣 以便我可以将它们快速呈现给客户 我发现的方法是创建一个放在主体上的外观类 通过更改它 我可以相应地更改页面
  • 本地主机上的 Laravel - 无法与主机 smtp.gmail.com 建立连接 [连接超时 #110]

    我正在尝试使用 Mailgun driver gt env MAIL DRIVER mailgun host gt env MAIL HOST smtp mailgun org port gt env MAIL PORT 587 MAILG
  • Linq (EntityFramework) 中的正则表达式、数据库中的字符串处理

    我的表中有一个列 其中包含以下值 FilterA 123 234 34 FilterB 12 23 FilterC FilterD 45 过滤器由 分隔每个过滤器的值由 分隔 过滤器的名称和值之间有一个 现在 我可以做任何只能取出值部分的事
  • 斑点跟踪算法

    我正在尝试使用 OpenCV 创建简单的斑点跟踪 我已经使用 findcontours 检测到了斑点 我想给这些斑点一个恒定的 ID 我收集了前一帧和当前帧中的斑点列表 然后我计算了前一帧和当前帧中每个斑点之间的距离 我想知道还需要什么来跟
  • Airflow:如何在非PythonOperator中使用xcom_push和xcom_pull

    我看到很多关于如何使用的例子xcom push and xcom pull与 Airflow 中的 PythonOperators 一起使用 我需要去做xcom pull from a 非Python运算符类 但找不到如何做 任何指针或示例
  • Node.js / npm - 无论如何判断一个包是否是纯 JS?

    我注意到 在尝试使用 npm 安装看似简单的节点包时 例如nerve 一个 微框架 我经常遇到某种形式的依赖痛苦 经过一番挖掘 我勇敢地找到了问题所在bcrypt模块 显然是用 C C 编写的 必须在包管理器下载后进行编译 不幸的是 如果您
  • OAuth 2 中的访问令牌撤销实现

    我使用 OWIN OAuth 2 来实现我的授权服务器提供程序 现在 我想实现令牌撤销 当我的客户端应用程序想要注销时 任何人都可以帮助我并告诉我如何在 OWIN KATANA OAuth 2 中实现令牌撤销 是否有一些好的做法 OAuth
  • 使用 JSCH 设置目录权限 CHMOD

    在Unix中 如何使用JSCH设置目录权限 我想做 drwxrwxrwx Filezilla 说该整数是 775 但 JSCH 未正确设置权限 JSCH 设置权限后 Filezilla 说是 407 这对我有用 sftp chmod Int
  • 函数式语言:现实生活中的例子

    函数式语言可以解决日常业务问题吗 是否有使用函数式语言 最好是发布的测试用例 实施的成功项目 上面列出的有不少现实世界中的函数式编程 从网站 真实世界的主要标准是该程序主要是为了执行某些任务而编写的 而不是主要为了尝试函数式编程
  • 如何实现 MPVolumeView?

    我希望用户能够使用滑块更改系统音量 并且我意识到实现此目的的唯一方法是使用 MPVolumeView 但我找不到它的任何示例代码 并且我尝试实现的每个方法都不会显示 那么实现 MPVolumeView 最简单 正确的工作方法是什么 将其作为
  • 如何以编程方式在四开本中生成选项卡集面板?

    我在下面提供了一个可重复的小示例 我想在四开中为命名列表中的每个 ggplot 对象生成选项卡plots 下面的四开文档将在其自己的二级标题中呈现图形 但不会按预期呈现在选项卡中 title Untitled format html r l
  • 修改innerHTML后保存/恢复内容可编辑的选择

    我知道在 contentEditable 中获取 设置光标位置几乎是不可能的 我不在乎知道这些信息 我需要能够保存当前选择 修改 div 的innerHTML 然后恢复选择 我一直在尝试提供的答案contenteditable 选定的文本保