2012-01-12 25 views
0

我不确定是否|被称为键盘游标。无论如何,我有一个输入控件,我希望获得| |的坐标是。获取键盘焦点坐标textarea或输入

换句话说,如果我输入标签气体文本:

hello world | bla bla

然后我会想获得键盘光标的坐标。通过猜测看起来像80px朝右侧,5px朝向底部。

我知道如何获得光标的位置,然后我可以通过计算字符的数量来估计位置,但这不可靠,因为某些字母比其他字母宽。换句话说,我将能够通过使用this technique来判断光标在位置12。

回答

1

如果您使用的是等宽字体,然后将可见字符数乘以当前使用的字体宽度,则只能有一个确切值。

0

您可以使用与光标左侧文本相同的内容(text.value.substr(0,text.getCaretPosition())创建另一个元素(或具有display:inline的另一个容器)。 #fakeText元素添加另一个 然后确保#fakeText的所有CSS样式与您的文本输入/文本区域相同,除了display:inline。

最后测量#fakeCaret的位置相对到#fakeText的左上角 这种方法是我所知道的唯一一种为可变宽度字体提供x和y坐标的方法。我们在nk.pl中使用这种方法将自动完成符定位在插入符号下方。

相关问题