更改后选择contenteditable中的文本

时间:2017-02-12 03:53:11

标签: javascript contenteditable onfocus cursor-position

我即将为Web应用程序编写一个更复杂的输入系统。我们的文本中有标签,天气显示为引导标签(当可信任的div被模糊时)或显示为手柄,例如文本聚焦时{{firstname}}

状态的变化由jQueries $().html(content)完成,我在焦点文本字段时根据来源更改内容。

问题是:如果我单击文本,我不想再次单击以放置光标,因为文本已更改。它工作的时间不长,我没有点击标签内部但在可信的根元素内。但如果我在contenteditable中的标签内部单击,则不会设置光标。

我的想法是在点击contenteditable时获取鼠标位置,然后在我更改文本时将文本光标设置为确切位置。但是我知道,如何将光标设置为文本节点内的特定偏移量,我不知道如何在单击时获得必要的偏移量。任何想法?

编辑:以下是小型截屏视频中的行为:https://youtu.be/RZvHxxM6wsQ

Edit2:这是在最小的工作示例中再现的问题: https://jsfiddle.net/8z5Lnxef/3/

0 个答案:

没有答案