Jquery实现textarea根据文本内容自适应高度


Posted in Javascript onApril 03, 2015

在玩微博的时候我们可能会注意到一个细节就是不管是新浪微博还是腾讯微博在转发和评论的时候给你的默认文本框的高度都不会很高,这可能是版面的限制和用户通常只转播或者评论一个短句有关。但是当你输入超过一行文字的时候,文本框的高度就自动撑高了,大大改善了体验,这样用户就可以看到全部的文字。不用再去拖动文本框的滚动条。

autoTextarea.js

(function($){
  $.fn.autoTextarea = function(options) {
    var defaults={
      maxHeight:null,
      minHeight:$(this).height()
    };
    var opts = $.extend({},defaults,options);
    return $(this).each(function() {
      $(this).bind("paste cut keydown keyup focus blur",function(){
        var height,style=this.style;
        this.style.height = opts.minHeight + 'px';
        if (this.scrollHeight > opts.minHeight) {
          if (opts.maxHeight && this.scrollHeight > opts.maxHeight) {
            height = opts.maxHeight;
            style.overflowY = 'scroll';
          } else {
            height = this.scrollHeight;
            style.overflowY = 'hidden';
          }
          style.height = height + 'px';
        }
      });
    });
  };
})(jQuery);

demo.js

$(".doctable textarea").autoTextarea({
  maxHeight:400,
  minHeight:100
});

以上所述就是本文的全部内容了,希望能够给大家学习jQuery有所帮助。

Javascript 相关文章推荐
JavaScript数组各种常见用法实例分析
Aug 04 Javascript
JS三级可折叠菜单实现方法
Feb 29 Javascript
Javascript的表单验证-揭开正则表达式的面纱
Mar 18 Javascript
文本框只能输入数字的js代码(含小数点)
Jul 10 Javascript
基于ajax与msmq技术的消息推送功能实现代码
Dec 26 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
Apr 19 Javascript
详解Angular中的自定义服务Service、Provider以及Factory
Apr 22 Javascript
vue.js简单配置axios的方法详解
Dec 13 Javascript
vue-router 源码实现前端路由的两种方式
Jul 02 Javascript
详解Vue组件插槽的使用以及调用组件内的方法
Nov 13 Javascript
javascript自定义右键菜单插件
Dec 16 Javascript
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
Aug 27 Javascript
JavaScript控制按钮可用或不可用的方法
Apr 03 #Javascript
kindeditor修复会替换script内容的问题
Apr 03 #Javascript
jquery 插件实现瀑布流图片展示实例
Apr 03 #Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
Apr 03 #Javascript
Javascript代码实现仿实例化类
Apr 03 #Javascript
使用Jquery实现每日签到功能
Apr 03 #Javascript
JavaScript获取按钮所在form表单id的方法
Apr 02 #Javascript
You might like
在PHP中使用Sockets 从Usenet中获取文件
2008/01/10 PHP
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
php中的观察者模式
2010/03/24 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
2014/09/12 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
jQuery将表单序列化成一个Object对象的实例
2016/11/29 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
2019/03/11 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
vue实现简单加法计算器
2020/10/22 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
python利用hook技术破解https的实例代码
2013/03/25 Python
gearman的安装启动及python API使用实例
2014/07/08 Python
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
python调用API实现智能回复机器人
2018/04/10 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
倩碧美国官网:Clinique美国
2016/07/20 全球购物
百丽国际旗下购物网站:优购
2017/02/28 全球购物
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
Ruby如何定义一个类
2012/10/08 面试题
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
2014酒店客房部工作总结
2014/12/16 职场文书
2015年司机工作总结
2015/04/23 职场文书