javascript - 如何自动调整文本区域的高度?

标签 javascript html textarea

我将文本区域的宽度设置为 100%,但现在我需要知道一行中可以容纳多少个字符。

我正在尝试编写一个 javascript 函数来自动增大/缩小文本区域。我试图避免使用 jquery,因为我只需要这个功能。

我的逻辑是 rows = textarea.value.split('\n'),遍历 rowscount += rows[i]。 length/textarea.cols,然后是 count += rows.length,最后是 textarea.rows = count。唯一的问题是 count 太大,因为 textarea.cols 太小了。

最佳答案

此函数会将元素(在您的例子中为文本区域)的高度设置为浏览器的默认高度。如果这导致出现滚动条,高度将切换到实际需要的高度。

function autoHeight(element){
    element.style.height='auto';
    element.style.height=element.scrollHeight+'px';
}

如果您不喜欢浏览器的默认高度,当然可以将其更改为您自己的其他默认值。

关于javascript - 如何自动调整文本区域的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4548088/

相关文章:

html - 如何使用XSLT在XML元素中获取所有内容

javascript - 使用 javascript 从文本文件中提取数据

javascript - 在按下键/单击时缩进文本区域

javascript - 使用 JavaScript 禁用/启用 ASP.NET 链接按钮

javascript - 使用 .js 更新上下文变量。这是可能的?

html - 使用 "background-position"但我的背景图像正在消失

javascript - 将光标保持在文本区域并每次单击添加每个内容

javascript - typescript 函数返回 NaN 值但数字类型

javascript - TypeError : $(. ..).visualize 不是一个函数

java - 文本区域的字体系列没有改变