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,但我甚至不知道从哪里开始。
答案 0 :(得分:2)
最简单的答案是使用caret.js:http://ichord.github.io/Caret.js/
简单如下:
$('#inputor').caret('position');
可以在Github上找到完整的文档: