jquery - 输入字段调整大小,文本在一定长度后蠕变

标签 jquery css input

我正在创建一个行为类似于命令提示符的输入字段。作为查找输入字段的视觉提示,我在输入框的两侧有括号。当用户键入时,输入字段会在他们键入新字符时调整大小。

唯一的问题是,当输入过多时,输入字段的左侧会超出字段范围。

这是输入框的代码:

<div class="line" id="command-wrapper">
    <span class="text-green">[</span><input id="command" autofocus contenteditable="true" size=1/><span class="text-green">]</span>
    <button id="submit"></button>
</div>

这是重新计算输入字段大小的代码:

$('#command').keypress(function(e){
  if(e.which == 13){
    $('#submit').click();
  }
  $('#command').attr({'size': $('#command').val().length + 1});
});

这是我的 JSfiddle: https://jsfiddle.net/mediocreb/8anw08k1/6/

在该示例中,如果您键入超过 17 个字符,您将看到效果。在我的测试中,移动设备上的情况更糟,通常只有几个字符会“爬行”。

最佳答案

我看过你的代码。它不会超出输入字段的范围。你必须用 textarea 替换 INPUT

<div class="line" id="command-wrapper">
<span class="text-green">[</span><textarea id="command" autofocus size=1> 
</textarea><span class="text-green">]</span>
<button id="submit"></button>
</div>

无需在 Jquery 中进行更改

像这样添加CSS

textarea
{
 overflow:hidden;
 width:80%;
 border:none;
}

关于jquery - 输入字段调整大小,文本在一定长度后蠕变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49903876/

相关文章:

java - 将网络应用程序与 facebook 事件 api 集成

javascript - 从外部域加载 javascript,页面加载后延迟几秒

HTML 最大宽度和高度在 IE 中不起作用

javascript - 输入数字禁用在 Firefox 上不起作用

python - 按下 escape 时取消输入

xml - XForms 和同一模型标签的多个输入

javascript - 使用 css 和 window.print() 打印特定的 div 在 pdf 的第二页上显示

javascript - jQuery 未将属性插入链接

javascript - 如何在 Javascript 函数中显示图像

HTML/CSS : Placing a DIV after a fixed DIV