我不确定是否|被称为键盘游标。无论如何,我有一个输入控件,我希望获得| |的坐标是。获取键盘焦点坐标textarea或输入
换句话说,如果我输入标签气体文本:
hello world | bla bla
然后我会想获得键盘光标的坐标。通过猜测看起来像80px朝右侧,5px朝向底部。
我知道如何获得光标的位置,然后我可以通过计算字符的数量来估计位置,但这不可靠,因为某些字母比其他字母宽。换句话说,我将能够通过使用this technique来判断光标在位置12。
我不确定是否|被称为键盘游标。无论如何,我有一个输入控件,我希望获得| |的坐标是。获取键盘焦点坐标textarea或输入
换句话说,如果我输入标签气体文本:
hello world | bla bla
然后我会想获得键盘光标的坐标。通过猜测看起来像80px朝右侧,5px朝向底部。
我知道如何获得光标的位置,然后我可以通过计算字符的数量来估计位置,但这不可靠,因为某些字母比其他字母宽。换句话说,我将能够通过使用this technique来判断光标在位置12。
如果您使用的是等宽字体,然后将可见字符数乘以当前使用的字体宽度,则只能有一个确切值。
您可以使用与光标左侧文本相同的内容(text.value.substr(0,text.getCaretPosition())创建另一个元素(或具有display:inline的另一个容器)。 #fakeText元素添加另一个 然后确保#fakeText的所有CSS样式与您的文本输入/文本区域相同,除了display:inline。
最后测量#fakeCaret的位置相对到#fakeText的左上角 这种方法是我所知道的唯一一种为可变宽度字体提供x和y坐标的方法。我们在nk.pl中使用这种方法将自动完成符定位在插入符号下方。