根据javascript中的文本行数更改textarea的高度[重复]

Posted

技术标签:

【中文标题】根据javascript中的文本行数更改textarea的高度[重复]【英文标题】:Change height of textarea based on number of lines of text in javascript [duplicate] 【发布时间】:2011-05-29 19:43:46 【问题描述】:

可能重复:Autosizing textarea using prototype

如何根据用户输入的文本行数更改文本区域的高度?

对于下面的示例,如果用户将 textarea 中的文本更改为多行文本,则 textarea 会在其自身上放置一个滚动条,而不是更改其高度以适应行数。

<textarea>
This is the default text that will be displayed in the browser. When you change this text and add more lines to it the browser will not change the height of the textarea that this text is in rather it will add a scroll bar, which is not what I want.
<textarea>

【问题讨论】:

@FelixKling 仅当我们假设 OP 使用原型时,他从未提及。 【参考方案1】:
<textarea onkeyup="autoSize(this);"></textarea>

function autoSize(ele)

   ele.style.height = 'auto';
   var newHeight = (ele.scrollHeight > 32 ? ele.scrollHeight : 32);
   ele.style.height = newHeight.toString() + 'px';

调整“32”以匹配行高留作练习。

【讨论】:

它不起作用:jsfiddle.net/MYrG2 JSFiddle 问题,而不是脚本问题。来自 Chrome:“不安全的 javascript 尝试从 URL fiddle.jshell.net/MYrG2/show 的框架访问具有 URL jsfiddle.net/MYrG2 的框架。域、协议和端口必须匹配。”跨站脚本错误,多古怪。 糟糕,一个小补充:为了解决 Webkit 上的问题,应该在 textarea 样式中添加“overflow-y: hidden”。 对贬损性评论投反对票。 不要忘记调整填充。 scrollHeight 似乎包括顶部和底部填充。

以上是关于根据javascript中的文本行数更改textarea的高度[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何计算 DOM 元素内的文本行数?我可以吗?

如何在 Android 中更改警报对话框的文本行

合并 MSER 中的区域以识别 OCR 中的文本行

正方体总是缺少图片中的文本行

C 语言文件操作 ( 配置文件读写 | 写出或更新配置文件 | 逐行遍历文件文本数据 | 获取文件中的文本行 | 查询文本行数据 | 追加文件数据 | 使用占位符方式拼接字符串 )

如何在 C++ 程序中的 2 个特定字符之间比较 2 个文件中的文本行