目的
我们在前端页面经常遇到需要根据字数的多少来自动调整textarea文本框的高度。
实现
根据字数调整文本框展示的高度:
javascript">adjustTextareaHeight: function (textarea) {textarea.style.height = 'auto'; // 去除之前的高度限制console.log(Math.min(textarea.scrollHeight, 12 * textarea.offsetHeight / textarea.rows));textarea.style.height = Math.min(textarea.scrollHeight, 12 * textarea.offsetHeight / textarea.rows) + 'px';
},
根据输入的字数自动换行调整高度:
javascript">inputTextareaHeight: function () {let textareas = document.querySelectorAll('textarea');textareas.forEach(function (textarea) {textarea.addEventListener('input', function () {this.style.height = 'auto';this.style.height = (this.scrollHeight) + 'px';});});},