jquery textarea 自动调整高度之autoResize插件

autoResize.js

/*
 * jQuery autoResize (textarea auto-resizer)
 * @copyright James Padolsey http://james.padolsey.com
 * @version 1.04
 */

(function($){
    
    $.fn.autoResize = function(options) {
        
        // Just some abstracted details,
        // to make plugin users happy:
        var settings = $.extend({
            onResize : function(){},
            animate : true,
            animateDuration : 150,
            animateCallback : function(){},
            extraSpace : 20,
            limit: 1000
        }, options);
        
        // Only textarea's auto-resize:
        this.filter('textarea').each(function(){
            
                // Get rid of scrollbars and disable WebKit resizing:
            var textarea = $(this).css({resize:'none','overflow-y':'hidden'}),
            
                // Cache original height, for use later:
                origHeight = textarea.height(),
                
                // Need clone of textarea, hidden off screen:
                clone = (function(){
                    
                    // Properties which may effect space taken up by chracters:
                    var props = ['height','width','lineHeight','textDecoration','letterSpacing'],
                        propOb = {};
                        
                    // Create object of styles to apply:
                    $.each(props, function(i, prop){
                        propOb[prop] = textarea.css(prop);
                    });
                    
                    // Clone the actual textarea removing unique properties
                    // and insert before original textarea:
                    return textarea.clone().removeAttr('id').removeAttr('name').css({
                        position: 'absolute',
                        top: 0,
                        left: -9999
                    }).css(propOb).attr('tabIndex','-1').insertBefore(textarea);
					
                })(),
                lastScrollTop = null,
                updateSize = function() {
					
                    // Prepare the clone:
                    clone.height(0).val($(this).val()).scrollTop(10000);
					
                    // Find the height of text:
                    var scrollTop = Math.max(clone.scrollTop(), origHeight) + settings.extraSpace,
                        toChange = $(this).add(clone);
						
                    // Don't do anything if scrollTip hasen't changed:
                    if (lastScrollTop === scrollTop) { return; }
                    lastScrollTop = scrollTop;
					
                    // Check for limit:
                    if ( scrollTop >= settings.limit ) {
                        $(this).css('overflow-y','hidden');
                        return;
                    }
                    // Fire off callback:
                    settings.onResize.call(this);
					
                    // Either animate or directly apply height:
                    settings.animate && textarea.css('display') === 'block' ?
                        toChange.stop().animate({height:scrollTop}, settings.animateDuration, settings.animateCallback)
                        : toChange.height(scrollTop);
                };
            
            // Bind namespaced handlers to appropriate events:
            textarea
                .unbind('.dynSiz')
                .bind('keyup.dynSiz', updateSize)
                .bind('keydown.dynSiz', updateSize)
                .bind('change.dynSiz', updateSize);
            
        });
        
        // Chain:
        return this;
        
    };
    
    
    
})(jQuery);

 使用

$(function(){
		
			
		$('textarea').autoResize({
			// On resize:
			onResize : function() {
				$(this).css({opacity:0.8});
			},
			// After resize:
			animateCallback : function() {
				$(this).css({opacity:1});
			},
			// Quite slow animation:
			animateDuration : 100,
			// More extra space:
			extraSpace : 0
		});
})
 
QT界面自适应 控件能跟随界面大小的变化实现字体、大小同比例的变化。 阅读详情

相关推荐

实现iframe自适应高度的jQuery插件详解

本文还有配套的精品资源,点击获取 简介:介绍jQuery对iframe自适应高度插件的原理和使用方法。该插件通过jQuery库动态调整iframe高度以适应其内容,简化了开发者的代码编写,提升了用户体验。详细描述了插件如何通过选择 iframe 、检测内容高度以及设置高度来自动调整 iframe ,同时提供了使用示例和注意事项,包括浏览器兼容性、...

weixin_26907223的博客 1138

好用的可视化大屏适配方案

使用插件参考:https://juejin.cn/post/7075253747567296548。vue3版本:https://datav-vue3.netlify.app/vue2版本:http://datav.jiaminghi.com/如果你不想分别写html,js和css,那么你也可以使用。缺点: 等比缩放时,项目的上下或者左右是肯定会有留白的。核心原理: 固定宽高比,采用缩放,一屏展示出所有的信息。// 看下面这个没有封装完善的。// 定义更新size方法。// 获取大屏真实尺寸。

老电影故事的博客 1114

Textarea-auto-resize:自动调整文本区域的大小

Textarea-自动调整大小 自动调整文本区域的大小 步骤1: 在页面底部包含 textarea-autoresize.min.js 第2步: 给要自动调整大小的 textarea(s) 类“textarea-auto-resize” 第 3 步: 利润

Vue大屏可视化自适应(可预览)

autoResize.js Resize.vue 最后在需要用的地方引入(页面中正常使用px即可) 查看demo

派大星的博客 7306

textareaAutoResize:自动将文本区域调整为内容大小

textareaAutoResize 自动将文本区域调整为内容大小 用: HTML: < script src =' jquery.textareaAutoResize.min.js ' > </ script > < textarea rows =" 2 " > </ textarea > 风格: textarea { max-height : 70 px ; } javascript: $ ( function ( ) { $ ( 'textarea' ) . textareaAutoResize ( ) ; } ) ;

基于jQuery的“autoresize”插件自动改变textarea大小

基于jQuery的“autoresize”插件自动改变textarea大小!当textarea输入到最后一行,会自动添加一行的大小!也就是把textarea高度改变的增加一行的高度!

jQuery autoResize

这是一个用jQuery实现的, 自动调整textarea高度, 非常的好!但原作者已经把它的相关描述页面移除了, 这里做个备份吧~但js路径还在:full: http://james.padolsey.com/demos/plugins/jQuery/autoresize.jquery.jsminified: http://james.padolsey.com/demos/plugins...

weixin_30892889的博客 190

jQuery-textarea-autosizer:根据输入自动调整 textarea 高度

jQuery-textarea-autosizer 根据输入自动调整 textarea 高度 ##在线演示 ##用法 // Enable: $ ( < textarea selector > ).autosize(); // Disable: $( < textarea selector > ).autosize(false); // Handle autosize events: $( < textarea selector > ).on('autosize', callback); ##浏览器支持测试: IE9+ 歌剧 12+ 火狐 15+ 野生动物园 6+ Chrome 21+ 在现代浏览器中应该可以正常工作。 请测试并提交更多支持的浏览器!

jQuery plugin: autoResize

html代码定义文本框: 1 2 3 <textareaid="test-comment" style="width: 400px; padding: 5px; height: 50px; display: block;"> 在这里输入内容,当内容超出文本框高度时,文本框会自动扩展 </tex...

weixin_34396103的博客 140

textarea-autosize:根据用户输入调整宽度和高度

textarea自动调整大小 用法 您可以使用css选择器。 AutoSize.resize("#mytext") ; 演示版

从0到1做AI漫剧:即梦+豆包+剪映+红果全流程实战

AI视频生成正在重塑内容创作的生产方式,它让原本高门槛的影视制作,变成了一条由文本、画面、剪辑与分发环节协同的流水线。理解其底层原理,在于将大模型的语义理解、图像生成与视频合成能力,与工程化的流程管理相结合,从而实现从创意到成片的自动化输出。这种技术的价值,不仅体现在降低制作成本,更在于让个人创作者能够独立完成高质量短剧,并快速迭代内容。在短剧、短视频、广告营销等场景中,利用即梦生成画面、豆包编写剧本、剪映完成剪辑、红果进行分发的组合,已成为一种被广泛验证的实践路径。本文聚焦AI漫剧制作,从环境准备、分镜设

weixin_34072637的博客 380

JqGrid 使用方法总结 (一次性加载数据)

<div> <table id="grid-table"></table> <div id="grid-pager"></div> </div> 发送全Json数据无需在进行加载 var grid_data = {}; $.ajax({ ...

winamw的专栏 1588

避坑指南:PCIe设备兼容性那些坑——聊聊MPS/MRRS设置不当引发的血泪史

本文深入探讨了PCIe设备兼容性问题,特别是MPS/MRRS参数设置不当引发的常见故障。通过详细解析MPS(Max Payload Size)和MRRS(Max Read Request Size)的作用机制,提供Linux内核五大配置策略的对比分析,并分享FPGA加速卡等实战案例的排查经验。文章还介绍了诊断工具链、动态调试技巧以及性能优化方法,帮助工程师有效解决PCIe兼容性难题。

weixin_30872499的博客 419

《Vue大屏布局自适应方案》

大屏开发时,适应不同分辨率的显示器,做到文字、图表不变形,能自适应当前分辨率可结合开发更个性化的大屏。

qq_43670721的博客 1169

Claude Code vs Codex

Claude Code 提供了一个生产就绪(production-ready)的实现,包含良好的错误处理、优雅的关闭逻辑、详细注释和文档,以及内置测试。Claude Code 输出了一个可运行的 Next.js + TypeScript 前端,但错过了一些设计里的黄色主题元素;Codex 则生成自己的版本,没有导出设计中的图片,也没严格遵照设计主题。Codex 完成同样功能,但更简洁直接,文档和注释少一些但功能达标。任务都用同样的提示,使用 TypeScript 实现,并在一天内完成。

weixin_49869937的博客 2382

CentOS 7下Oracle 11G RAC静默安装避坑指南:从网络规划到共享存储配置全流程

本文详细介绍了在CentOS 7环境下进行Oracle 11G RAC静默安装的全流程,包括网络规划、共享存储配置和系统参数调优等关键步骤。特别针对静默安装过程中的常见问题提供了实用的避坑指南和优化建议,帮助技术人员高效完成企业级数据库部署。

weixin_29234509的博客 123

textarea高度自动变化

最近用到了textarea 才一两行的数据就出现滚动条,会很难看,发现一种方法,让textarea随着内容的多少自动去变化,找到如下代码: //工具方法,自适应textarea // 最小高度 var minRows = 1; // 最大高度,超过则出现滚动条 var maxRows = 4; function au...

weixin_30332705的博客 234

XCP实战系列介绍01-测量与标定底层逻辑介绍

XCP-测量与标定底层代码实现介绍,通过对相关API调用关系介绍加深开发人员对其功能的了解。

initiallizer的博客 1万+

Vue3中高度百分百设置

你是否有时候觉得css很麻烦尤其在设置高度的时候是否觉得为什么我设置了就是不生效呢,如果你有这个疑惑那么不妨看看我的解决方案!这方案只适合Element-plus的同胞。自动调整大小然后通过AutoResizer 组件的插槽来获取宽高这样就可以实现高度百分之百了,亲测实效没问题。最近在看Element官方文档的时候无意间发现了虚拟表格这个东西,好奇心的驱使下我点开看了看结果发现了这个。或者各位也可以在模板是打印height和width来看看。这里贴出我的实战例子。

Yokeiz的博客 1617

解锁RK1126与SC132GS摄像头适配密码:技术与代码全解析

本文详细介绍了瑞芯微RK1126芯片与SC132GS摄像头的适配方法。首先分析了RK1126的四核Cortex-A7处理器、Mali-T860 GPU等硬件特性,以及SC132GS的130万像素、全局快门等技术参数。重点阐述了基于MIPI CSI接口的硬件连接原理和基于V4L2框架的软件驱动设计,并提供了完整的初始化、数据采集和图像处理代码实现。针对常见连接和图像质量问题给出了解决方案,展现了该组合在智能安防、工业检测等领域的应用潜力,为开发者提供了实用的技术参考。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1501

【01】总目录——软件设计师50讲通关地图|从零基础到工程师职称

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏的01篇总目录,系统梳理了50篇博文的完整架构与核心逻辑。专栏覆盖软考软件设计师(中级)全部考点,分为导学规划、基础知识、设计模式、下午题专项、算法实战、冲刺模拟、收官进阶七大模块,既兼顾上午题75道单选题的理论攻坚,也聚焦下午题案例分析的解题能力提升。每篇博文均包含考点精讲、真题解析、实战技巧与速记方法,配套可运行代码、解题模板及备考资源。无论你是零基础转行、在校学生还是在职程序员,都能通过这份学习地图明确进度、精准定位薄弱环节,高效搭建知识体系

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1278

推荐文章:自动扩容神器 —— PVC-Autoresizer,打造弹性存储新时代

推荐文章:自动扩容神器 —— PVC-Autoresizer,打造弹性存储新时代 在现代云原生架构中,数据存储的高效管理至关重要。随着业务量的增长和数据膨胀,手动调整Persistent Volume Claims(PVC)容量成为了一项繁重且易出错的任务。今天,我们隆重推荐一款开源工具——pvc-autoresizer,它旨在自动解决这一痛点,为您的Kubernetes集群带来智能化的存储扩容体...

gitblog_00676的博客 1048

AI工具 | 每个打工人必备的15款人工智能超级工具

不过,还是有一些靠谱的人工智能平台,它们可不只是营销噱头。有些AI公司正试图改变游戏规则。人工智能工具让人们能够更聪明地工作,而不是更辛苦地劳作。如果你想知道未来有什么,那就来看看这10款人工智能工具吧,它们将彻底改变我们的工作方式。

Vampire_2017的博客 5万+

告别布局烦恼!QT界面自适应工具类AutoResizer的5个高效使用技巧

本文详细介绍了QT界面自适应工具类AutoResizer的5个高效使用技巧,帮助开发者解决不同分辨率和DPI下的界面布局问题。通过智能字体缩放、混合布局模式、高性能批量处理等技巧,AutoResizer能显著提升开发效率,确保界面在各种设备上保持一致性。特别适合需要适配多种显示环境的QT项目开发。

weixin_30415113的博客 568

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: jquery获取textarea所输入的行数
下一篇: css 去掉textarea,input,select中的选中焦点框
_frank
博客等级 码龄17年 8粉丝 403原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值