Contenteditable获得包括HTML在内的职位

时间:2016-03-30 15:24:56

标签: javascript html

我正致力于使用JavaScript在HTML文本中创建注释。它的工作方式是,用户点击一个可信的<div>,然后根据点击的位置获取光标的位置。然后,当我在文本中放置注释时,我会转到该字符位置以插入脚注指示符。问题是光标在可疑<div>中的位置不考虑HTML标记。例如,如果<div>包含以下内容:

AB<b>CD</b>EF

我把光标放在&#34; C&#34;和&#34; D&#34;,位置为3,因为它忽略了<b>。有没有办法让光标位置包括HTML标签,以便在我返回并放置标记时它是一致的?如果<div>打开其他解决方案,则contenteditable不一定需要{{1}}。

(我目前正在使用此解决方案获取职位:Get a range's start and end offset's relative to its parent container

1 个答案:

答案 0 :(得分:0)

我认为这是因为<b>不是容器而<div>是容器。 我没有尝试使用代码,但尝试将“display: inline-block”分配给<b>,以便将其识别为容器。也许它有效。