基本上我需要跨度的宽度。需要使用在键盘上找不到的几个自定义字符我正在使用“div”构建自己的“输入”字段。每个字符都被包裹在一个带有事件监听器的“span”标签中。这将允许用户单击字符串中的任意位置并将光标移动到一个字符之后的位置,它还允许他们在字符串中间添加或删除字符。
我正在使用“offsetLeft”和“offsetWidth”来查找字符的右侧,问题是当单击字符/跨度时,“offsetWidth”偏离了。因此,例如,如果我使用 14 像素字体,“M”实际上是 11 像素时将返回 35 像素宽。并且有几种变体,像“S”这样的平均大小的字符在实际为 9 时将返回 26 个像素。因此大小存在变化。现在您可能想知道我是如何找到实际的字母大小的,而那是使用 Firebug 的。如果 Firebug 可以找到它,我会认为我也可以,我只是不知道如何。所以我希望这里有人知道。
我还尝试使用“getComputedStyle”和“currentStyle”来查找宽度并返回“auto”。还尝试过 getBoundingClientRect().width 它与 offsetWidth 相同,不同之处在于它还可以找到宽度中像素的分数,所以“M”是 35.366668701171875 像素宽,奇数。
编辑:
根据 user1289347 帖子,我应该注意到“offsetWidth”也会导致“offsetLeft”关闭错误的数量。
javascript ×1