0

我即将着手创建一个 Jquery 插件,该插件将以类似于它在 Visual Studio 中呈现的方式提供类型提前查找。

虽然我对自动完成和其他类似的提前输入插件很熟悉,但我想制作它,以便弹出窗口位于文本区域中输入的单词下方。

有没有办法在文本框中获取插入符号的当前 x 和 y?

谢谢

山姆

4

2 回答 2

0

有一个复杂的解决方案涉及使用画布元素覆盖输入并测量其中的文本(或仅具有隐藏的画布元素) - 但我认为这在旧版 IE 中不起作用。

您可以通过将字符及其相对宽度相加(使用已知宽度的单色字体)来测量文本的宽度。然后只需抓住输入的顶部/左侧并在单词之前添加 charWidth * 字符数(包括空格)应该会给你一个有点准确的“顶部/左侧”的结尾(或者如果你这样做的话)的开头)单词。

如果您需要一个编码示例,请告诉我,我可以制作一些合适的东西。然而,这(imo)将是最简单的方法(单字体+计算宽度+输入偏移)

于 2012-07-19T20:22:45.850 回答
0

您可以使用选择和范围 API 来实现。但是 IE 和非 IE 之间的 API 存在很多差异。请查看 msdn 和 mdn 以了解选择和范围 API。

于 2012-07-19T20:35:48.157 回答