html文本域自动自适应,【Javascript】文本框textarea高度随内容自适应增长收缩

这篇博客介绍了两种使用JavaScript实现textarea高度自动适应内容增长和收缩的方法。第一种方案在不同浏览器中增长正常,但在内容减少时收缩效果不一致。第二种方案解决了收缩问题,但在文本框高度增加时有跳动感。这两种方案都无法完美处理右键菜单操作内容的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前一段时间项目中用到的一个功能,用Javascript控制文本框textarea高度随内容自适应增长收缩,今天花了点时间换了种实现方法,总结一下。

直接上代码:

方案一:

枫芸志 » 文本框textarea高度自适应增长/伸缩

textarea { height:100px; width: 300px; }

晴枫制作

http://witmax.cn

// 最小高度

var minHeight = 100;

// 最大高度,超过则出现滚动条

var maxHeight = 300;

function ResizeTextarea(){

var t = document.getElementById('txtContent');

h = t.scrollHeight;

h = h > minHeight ? h : minHeight;

h = h > maxHeight ? maxHeight : h;

t.style.height = h + "px";

}

提示:你可以先修改部分代码再运行。

方案一在各浏览器中,文本框随内容自适应增长都没有问题;但在删除内容时收缩方面表现有所差异,IE、Opera表现正常,Firefox、Chrome、Safari不会收缩。原因是文本框内容高度小于文本框高度时scrollHeight值等于文本框高度,而不是文本框内容高度。

方案二:

枫芸志 » 文本框textarea高度自适应增长/伸缩

Textarea高度随内容自适应地增长,无滚动条

晴枫制作

http://witmax.cn

// 最小高度

var minRows = 5;

// 最大高度,超过则出现滚动条

var maxRows = 12;

func

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值