将 span 标签动态添加到内容可编辑 div 中的某些单词



>我创建了一个内容可编辑的div,用户可以在其中撰写评论和标记其他用户。当用户键入时,将进行 API 调用以检查注释中指定的任何用户名。

例如,如果有人写: ">此任务将由User123处理。UserABC和UserXYZ可以提供帮助。

以下是 API 响应:

res = [
{'useremail':"user123@email.com", "start":29, "end": 36},
{'useremail':"userxyz@email.com", "start":38, "end": 45},
{'useremail':"userabc@email.com", "start":50, "end": 57}
]

如果未找到用户名,则响应将为空数组。

现在的问题是在为注释中指定的用户名添加 span 标签以突出显示它们时。我知道要突出显示的文本内容的开始和结束索引。如何将 span 标签动态添加到可编辑div 中的给定索引?该过程不应中断正在键入的用户。

我更喜欢使用纯Javascript。但我可以使用jQuery。

任何帮助,不胜感激。 如果您需要更多信息,请发表评论。提前谢谢你。

我只会获取文本,剪切它,截断div并附加带有特定文本块的跨度包装器。它不应中断用户。

此外,如果您调用innerText您将获得所有后代的文本,因此即使它们在 span 包装器中,您也可以提取整个文本并重新剪切。

最新更新