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 相关文章推荐
清空上传控件input file的值
Jul 03 Javascript
js实现目录定位正文示例
Nov 14 Javascript
jQuery jcrop插件截图使用方法
Nov 20 Javascript
分享我的jquery实现下拉菜单心的
Nov 29 Javascript
js中开关变量使用实例
Feb 24 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
Apr 19 Javascript
20170918 前端开发周报之JS前端开发必看
Sep 18 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
Jan 07 Javascript
vue select二级联动第二级默认选中第一个option值的实例
Jan 10 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
Jul 05 Javascript
Vue插件打包与发布的方法示例
Aug 20 Javascript
Node.js使用supervisor进行开发中调试的方法
Mar 26 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
CodeIgniter框架过滤HTML危险代码
2014/06/12 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
如何判断图片地址是否失效
2007/02/02 Javascript
js计算页面刷新的次数
2009/07/20 Javascript
js textarea自动增高并隐藏滚动条
2009/12/16 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
2016/09/05 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
js编写选项卡效果
2017/05/23 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
JavaScript代码调试方法实例小结
2019/01/05 Javascript
Vue.extend 编程式插入组件的实现
2019/11/18 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
[48:39]Ti4主赛事胜者组第一天 EG vs NEWBEE 2
2014/07/19 DOTA
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
python urllib爬取百度云连接的实例代码
2017/06/19 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
Python使用LDAP做用户认证的方法
2019/06/20 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
Python bisect模块原理及常见实例
2020/06/17 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
出纳岗位职责模板
2013/11/27 职场文书
大学毕业感言100字
2014/02/03 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
员工规章制度范本
2015/08/07 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
面试必问:圣杯布局和双飞翼布局的区别
2021/05/13 HTML / CSS