javascript - 随内容增长和收缩到最大高度的文本区域

标签 javascript jquery html css textarea

首先,我知道这里已经提出了与此类似的问题,尽管它们都没有专门按照我的标题要求进行。

我正在尝试创建一个简单的 textarea 输入,它根据其内容增加和缩小高度,但仅限于最大高度。一旦达到最大高度,它将垂直滚动。

我遇到了一个纯 CSS 和 HTML 的解决方案,但不幸的是它不是跨浏览器的,而且可能有很多错误。但它应该能让你们很好地了解我正在努力实现的目标。

HTML:

<div contenteditable>
    type here...
</div>

CSS:

div[contenteditable] {
    border: 1px solid black;
    max-height: 100px;
    overflow-y: auto;
    overflow-x: hidden;
    width: 200px;
}

WORKING EXAMPLE

是否有一种解决方案,不使用 contenteditable,仅使用文本输入或文本区域即可复制上述示例?

最佳答案

我一直在寻找同一问题的解决方案,并意识到使用 flex javascript 解决方案似乎是最好的全能解决方案。在所有现代浏览器中测试,包括回到 IE9:

在此处查看工作演示: http://jsfiddle.net/mupbrtpv/

在文本区域上使用您选择的最大高度,以防止高度超出您想要的限制。

HTML:

<textarea id="description" placeholder="input your text here"></textarea>

CSS:

textarea#description{width: 300px; max-height: 400px;}

Javascript:

$('#description').elastic();

关于javascript - 随内容增长和收缩到最大高度的文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25700518/

相关文章:

javascript - 如何创建函数过滤器 reactjs?

javascript - 什么时候可以使用Angular onpush通知策略?

Javascript .click 监听器在 DOM Ready 上触发

jquery - 使用 JQuery 检查是否已将选项添加到下拉列表中

jquery - 删除除内容之外的所有 anchor ?

php - 可视化 SQL 数据库的动态数据

JavaScript、Ajax 和 JSON : weird "xml processing" error when parsing response

jquery - 设置文本框的值 - jQuery

html - 垂直滚动条问题

html - 我可以使用哪种示例 url 会立即导致请求失败?