【发布时间】:2014-10-11 12:18:52
【问题描述】:
我尝试了不同的方法来使输入适应文本。我越接近 jQuery 是:$("div").attr("size", $("div").val().length );
我认为这适用于属性大小,但这似乎不能很好地衡量文本。似乎 size 可以很好地测量数字而不是文本:
<input type="text" id="first" name="first" size="11" value="this has 11">
<br>
<input type="text" id="second" name="second" size="11" value="12345678901">
<br>
<input type="text" id="third" name="third" size="22" value="this has 22 characters">
所以,当我在 jQuery 中使用 size 时:
$("#jQ").attr("size", $("#jQ").val().length );
HTML:
<input type="text" id="jQ" name="jQ" value="text, text, text">
下面是玩的例子:http://jsfiddle.net/auk7g40m/
有没有更好的方法让输入适应其文本?
【问题讨论】:
-
小提琴链接坏了。
-
size 属性使用给定字体大小的平均字符宽度。如果你想要一个精确的宽度,你需要使用一个隐藏元素,更新一个输入并设置为相同的字体属性,然后从中获取宽度。
-
所以没有问题?您只是在寻找更好的选择。您应该在代码审查堆栈交换上发帖。
-
您希望输入根据其字符改变宽度?
-
@ramon,我希望输入根据字符进行更改。我想我以某种方式指定了字体和大小。
标签: jquery html html-input