我想制作一个随着用户到达底部而扩展的文本区域(向下扩展而不是向外扩展)
在 Facebook 上可以看到一个很好的例子,当用户键入时,文本框会相应地调整其大小。
我已经尝试在网上查找,但没有任何效果,所以如果这看起来微不足道,请原谅我。
<textarea name="messagea" id="styled"></textarea>
<script>
$(function() {
$('styled').autogrow();
});
</script>
使用原始 JavaScript,它将类似于以下内容。
var foo = document.getElementById('mytextarea');
foo.addEventListener('keypress', function(){
if (this.clientHeight < this.scrollHeight) this.style.height = ''.concat(this.scrollHeight * 1.05, 'px');
});
这不能保证跨浏览器工作,因此您必须为此扩展它(对于 IE),但这应该为您提供处理按键事件和适当检查高度的基本概念。
你在使用 jQuery 吗?
如果是这样,这个问题已经在 StackOverflow 上得到解答:Auto expand a textarea using jQuery或textarea auto expand。