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 相关文章推荐
js判断输入是否为正整数、浮点数等数字的函数代码
Nov 17 Javascript
使用闭包对setTimeout进行简单封装避免出错
Jul 10 Javascript
Json序列化和反序列化方法解析
Dec 19 Javascript
JavaScript组件开发完整示例
Dec 15 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
Feb 02 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
Aug 18 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
Oct 19 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
Jun 15 Javascript
react.js使用webpack搭配环境的入门教程
Aug 14 Javascript
jquery实现左右轮播切换效果
Jan 01 jQuery
vue使用自定义icon图标的方法
May 14 Javascript
JS继承定义与使用方法简单示例
Feb 19 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基于cookie实现统计在线人数功能示例
2019/01/16 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
2011/04/27 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
Javascript定义类(class)的三种方法详解
2015/03/13 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
Web前端框架bootstrap实战【第一次接触使用】
2016/12/28 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
jQuery代码优化方法总结
2018/01/29 jQuery
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
通过C++学习Python
2015/01/20 Python
python提取内容关键词的方法
2015/03/16 Python
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
Python制作动态字符图的实例
2019/01/27 Python
python dumps和loads区别详解
2020/02/04 Python
英国鞋网:Rubber Sole
2020/03/03 全球购物
舞蹈毕业生的自我评价
2014/03/05 职场文书
保密工作目标责任书
2014/07/28 职场文书
优秀大专毕业生求职信
2014/08/04 职场文书
连锁超市项目计划书
2014/09/15 职场文书
公司领导班子对照检查存在问题整改措施
2014/10/02 职场文书
动画电影《龙珠超 超级英雄》延期上映
2022/03/20 日漫