在textarea中做一个div跟随插入位置?

时间:2014-11-02 02:58:15

标签: javascript jquery html angularjs

JSBin:http://jsbin.com/cusisidoja/1/edit?html,js,output


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

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


所以退一步把问题分解成最基本的组成部分:

如何根据对CSS样式有意义的x,y坐标获取textarea的插入位置?

我把一个JSBin和(我相信是)一个体面的shell放在一起,用于在textarea中更改文本时观察/更新div的范围:http://jsbin.com/cusisidoja/1/edit?html,js,output

我知道这与我尝试做的事情相去甚远,但就目前我所理解的情况而言,这是我所能得到的。我也很开心,实现这一目标的唯一方法是通过外部库或使用jQuery,但我甚至不知道从哪里开始。

1 个答案:

答案 0 :(得分:2)

最简单的答案是使用caret.js:http://ichord.github.io/Caret.js/

简单如下:

$('#inputor').caret('position');

可以在Github上找到完整的文档:

https://github.com/ichord/Caret.js