基本上我需要一个跨度的宽度。做需要使用键盘上找不到的几个自定义字符我正在构建我自己的“输入”字段,使用“div”。每个字符都被包裹在一个附有事件监听器的“span”标签中。这将允许用户单击字符串中的任意位置,并将光标移动到字符后面的位置,同时允许用户添加或删除字符串中间的字符。找到一个自动调整大小的元素的宽度
我正在使用“offsetLeft”和“offsetWidth”来查找字符的右侧,问题是当单击字符/跨度时,“offsetWidth”是关闭的。因此,例如,如果我使用14像素字体,则“M”将返回35像素宽,实际上是11像素。并且有几种变化,像“S”这样的平均大小的字符实际上是9时会返回26像素。所以在尺寸上存在变化。现在你可能想知道我是如何找到实际的字母大小的,并且使用了Firebug。如果Firebug可以找到它,我会假设我可以,我只是没有想出如何。所以我希望这里有人知道。我也尝试使用“getComputedStyle”和“currentStyle来查找宽度,它返回”auto“。还尝试过getBoundingClientRect()。它的宽度与offsetWidth相同,不同之处在于它也可以找到像素的分数在宽度,所以一个“M”是35.366668701171875像素宽,奇数
编辑:
基于user1289347交我应该注意的是,“offsetWidth”导致“offsetLeft”由错误的量是断
欢迎来到[SO]。我可以看到你已经发布了几次,但我认为你需要查看[Markdown for SO](http://stackoverflow.com/editing-help)。 – zzzzBov 2012-03-26 00:39:12
您是否使用过javascript调试器来查看dom中的样式元素,并查看似乎是找到此信息的最佳方式? – 2012-03-26 00:39:52
firebug:https://getfirebug.com/layout – dsdsdsdsd 2013-11-04 21:46:20