Javascript 在文本区域中设置div跟随插入符号位置?

Javascript 在文本区域中设置div跟随插入符号位置?,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,请点击这里: 我正在尝试POC一个上下文菜单,如果在textarea元素中输入了某些关键字,该菜单将弹出。其思想是实现类似于IDE中代码完成下拉列表工作方式的功能 我意识到这个项目的范围,所以关键字和菜单内容的细节现在并不重要。我想弄清楚的是,当用户输入时,如何定位插入符号的位置 因此,退一步,将问题分解为最基本的部分: 如何获得文本区域的插入符号位置,即对CSS样式有意义的x,y坐标 我创建了一个JSBin(我认为是)一个像样的shell,用于在textarea中更改文本时监视/更新div

请点击这里:


我正在尝试POC一个上下文菜单,如果在textarea元素中输入了某些关键字,该菜单将弹出。其思想是实现类似于IDE中代码完成下拉列表工作方式的功能

我意识到这个项目的范围,所以关键字和菜单内容的细节现在并不重要。我想弄清楚的是,当用户输入时,如何定位插入符号的位置


因此,退一步,将问题分解为最基本的部分:

如何获得文本区域的插入符号位置,即对CSS样式有意义的x,y坐标

我创建了一个JSBin(我认为是)一个像样的shell,用于在textarea中更改文本时监视/更新div的范围:


我知道这和我想做的相去甚远,但这是我目前所能理解的。我还认为,实现这一点的唯一方法可能是通过外部库或使用jQuery,但我甚至不知道从何开始。

最简单的答案是使用caret.js:

简单到:

$('#inputor').caret('position');
完整文档可在Github上找到:


您是否看到过或对ng标记输入感兴趣?@shaun与上下文菜单完成不太一样。例如,打开JavaScript控制台并键入
窗口。
。这种上下文菜单完成是我试图构建的。