使用JavaScript

时间:2017-08-07 13:29:53

标签: javascript jquery html5

我仍在开发一个代码编辑器项目,我已经成功完成了一些语法高亮功能。但是当我尝试它时,我遇到了一个小问题:

完成所有更改后(通过添加特殊span更改标记颜色),用户光标将在可信主体的开头处向右移动。这对用户来说有点烦人,如果每次添加新标签,他必须再次点击正确的地方继续输入代码。

问题更大,因为每次用户输入时都会调用检查语法最新更改的函数。例如,如果他输入<a href="http://www.google.com">标签,光标将在开头返回,但即使他在最后>之后再次点击,该函数也会在他键入另一个时立即调用键和光标将在开头返回,这意味着他不能在链接后写...

我已经搜索了很多,发现了同样问题的各种文章和主题,但没有一个有效:

  • 我使用的是getCharacterOffsetWithin函数,但由于它仅适用于一行,所以我不能使用它。
  • answer提议的@TimDown在我的情况下不起作用,因为我可能在其他内容中有多个标记。
  • function提供的@Sorunome也不起作用,即使它没有引发任何错误,但光标仍然在开头。

我对此很感兴趣,因为我认为获取和设置光标位置非常简单,但似乎没有简单这个问题的答案。

我的问题是:我应该创建自己的GetCursorPosition()SetCursorPosition(),考虑到我的特殊情况,还是有任何方式使用Javascript或jQuery来获取和设置光标位置在一个我可能错过的整个可疑的身体里面?

0 个答案:

没有答案