【发布时间】:2017-11-02 07:37:45
【问题描述】:
我有一个输入类型文本
<input type="text" id="txtid">
当我开始在输入中输入文本时,我应该能够获得输入文本的长度。
这是我尝试过的:
document.getElementById("txtid").offsetWidth;
和
var test = document.getElementById("txtid");
var width = (test.clientWidth + 1) + "px";
这两个没有给出输入文字的宽度
基本上我想要的是:
假设input text 宽度为320px。我需要输入文本的宽度,即120px,当我输入时它会不断变化。
【问题讨论】:
-
我认为这不是微不足道的。您可以生成一个不可见的跨度,它始终包含与您的输入框相同的内容。然后测量它的宽度。
-
也许你可以使用这个:stackoverflow.com/a/21015393/4108884 作为解决方法
-
存在另一个依赖:它自己的字体。每种字体中每个字母的宽度都有不同的宽度。甚至字母也有不同的宽度。在示例中:“i”明显小于“w”。
-
@Paflow 不错。最好你可以发布答案。
标签: javascript html css input