javascript - HTML TextArea 自动调整大小

标签 javascript html css

我想要一个文本区域,它总是和其中的文本一样大。所以页面可以滚动而文本区域不能滚动。
这是我到目前为止所做的:

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
html, body {height: 100%;}
textarea {
border: none;
width: 100%;
height: 100%;
-webkit-box-sizing: border-box;
line-height: 44px;
font-family:Helvetica;
font-size: 17pt;
-webkit-tap-highlight-color: rgba(0,0,0,0);
background-image:url('linedBack@2x.png');
outline: none;
resize: none;
}
textarea.vert { resize:vertical; }
</style></head><body>
<textarea id="InputTextArea" placeholder="placeholder"></textarea>
</body></html>

最佳答案

根据内容行号调整 TeaxArea 的大小。这是一个 DEMO

JS

function resizeTextarea (id) {
  var a = document.getElementById(id);
  a.style.height = 'auto';
  a.style.height = a.scrollHeight+'px';
}

function init() {
  var a = document.getElementsByTagName('textarea');
  for(var i=0,inb=a.length;i<inb;i++) {
     if(a[i].getAttribute('data-resizable')=='true')
      resizeTextarea(a[i].id);
  }
}

addEventListener('DOMContentLoaded', init);

HTML

<textarea id="InputTextArea" placeholder="placeholder" onkeyup="resizeTextarea('InputTextArea')"></textarea>

关于javascript - HTML TextArea 自动调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17283878/

相关文章:

javascript - 在jquery中设置item的值

css - Sprites LESS CSS 变量增量问题

asp.net - Ajax 函数抛出 WebServiceFailedException

javascript - 使用 jQuery $.post() 通过函数返回值

css - Bootstrap 按钮扩展容器

html - CSS 选择器 : if div's class name contains AT LEAST one char

javascript - 从 1.2.x 更新后,指令不从 Controller ($scope)链接

javascript - 从表行中获取所有数据任务 ID

javascript - 如何使用 jquery 在悬停时在褪色图像上显示文本

javascript - AJAX 中 X (XML) 的连接是什么?