我有一个文本框
,用户可以在其中输入任意数量的字符,但我希望它的宽度根据输入的字符数动态增加 .
我已经完成了如下所示的解决方法并且它部分起作用,它会动态增加宽度但不是那么精确并且会在一段时间后隐藏第一个输入的字符,因为我在其中应用了糟糕的逻辑。我刚刚给出了一个 17 个字符的疯狂截止值来开始增量。
只有当字符数到达文本框的末尾时才开始增加宽度。
更新:
我想让字段中输入的所有字符都可见,而默认情况下,文本框会隐藏最左边的字符。
HTML
<input type="text" id="txtbox" />
脚本
$('#txtbox').keypress(function() {
var txtWidth = $(this).width();
var cs = $(this).val().length;
if(cs>17){
$(this).width(txtWidth+5);
}
});
最佳答案
我试过这段代码,它工作正常。
<html>
<head>
<script type="text/javascript">
function Expand(obj){
if (!obj.savesize) obj.savesize=obj.size;
obj.size=Math.max(obj.savesize,obj.value.length);
}
</script>
</head>
<body>
<form>
<input type="text" size="5" style="font-family:Courier;" onkeyup="Expand(this);">
</form>
</body>
</html>
一定要在文本框中使用单空格字体,否则大小属性。字符数不匹配
关于javascript - 根据输入的字符动态增加输入类型文本文本框的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20727692/