关于网页中文本域高度自动适应问题,参考微信回复

本文介绍了一种使用jQuery实现的文本框高度自适应方案,可根据输入内容自动调整高度,并提供了最大高度限制及滚动条显示的功能。

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

 最近手头有个项目中,有个界面想要做出类似于微信中的回复框,输入框的高度可以随文本的输入,换行等自动适应,先放一个微信中的示例

以此为参考,

废话不多说,上代码

 1 (function($) {
 2     $.fn.autoTextarea = function(options) {
 3         var defaults = {
 4             maxHeight : null,// 文本框是否自动撑高,默认:null,不自动撑高;如果自动撑高必须输入数值,该值作为文本框自动撑高的最大高度
 5             minHeight : $(this).height()
 6         // 默认最小高度,也就是文本框最初的高度,当内容高度小于这个高度的时候,文本以这个高度显示
 7         };
 8         var opts = $.extend({}, defaults, options);
 9         return $(this).each(function() {
10             $(this).bind("paste cut keydown keyup focus blur", function() {
11                 var height, style = this.style;
12                 this.style.height = opts.minHeight + 'px';
13                 if (this.scrollHeight > opts.minHeight) {
14                     if (opts.maxHeight && this.scrollHeight > opts.maxHeight) {
15                         height = opts.maxHeight;
16                         style.overflowY = 'scroll';
17                     } else {
18                         height = this.scrollHeight;
19                         style.overflowY = 'hidden';
20                     }
21                     style.height = height + 'px';
22                 }23             });
24         });
25     };
26 })(jQuery);

引用示例

1 $("textarea").autoTextarea({
2   maxHeight:180//文本框是否自动撑高,默认:null,不自动撑高;如果自动撑高必须输入数值,该值作为文本框自动撑高的最大高度
3 });

效果图如下

有用到的朋友可以参考下!

转载于:https://www.cnblogs.com/songyz/p/7472831.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值