我正在尝试在我的网络应用中构建用户名自动填充功能,因此当您键入@
符号时,会出现一个带有箭头的弹出窗口,指向@
符号并继续向下过滤输入用户名(并单击完成它)。
我可以完成大部分工作,但是我正在努力的主要部分是获得x和y中的一些坐标,我可以使用它来定位弹出窗口......
这里有一个JSFiddle小提琴,我正在研究.. http://jsfiddle.net/tarnfeld/Xefdb/3/
为了使主要功能正常工作,我有一个红色的跨度,我想移动到插入位置(小符号作为你的打字)所以我可以进一步扩展这个是非常棒的自动完成爱。
任何帮助将不胜感激:)
谢谢!
PS:我找到了这样的答案Twitter-style autocomplete in textarea但是他们不会在@ char位置下弹出......
答案 0 :(得分:1)
这似乎很复杂。基本上,您必须获取当前的字符位置并将其转换为X / Y坐标。
我找到了以下可能对您有帮助的链接:
计算x / y位置是棘手的部分。两个解决方案(第二和第三个链接)都会创建临时元素(<div>
或<textarea>
)并使用计算其高度/宽度的文本连续填充它们。
HTH。
答案 1 :(得分:0)
哇噢!
所以,通过一些阅读和黑客,我得到了这个工作..你可以看看这里(请阅读顶部的消息!)http://jsfiddle.net/Xefdb/9/
我还没有在IE中尝试过,所以如果有人可以,如果它没有正常工作,请给我一个截图@tarnfeld,这真是太棒了。
以下是它如何运作的快速介绍:
如果有人能找到更好的方法,请告诉我!
PS。它应该处理滚动!