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 打地鼠游戏代码说明
Oct 12 Javascript
js 验证密码强弱的小例子
Mar 21 Javascript
详解jQuery插件开发中的extend方法
Nov 19 Javascript
jQuery/CSS3图片特效插件整理推荐
Dec 07 Javascript
jquery+php随机生成红包金额数量代码分享
Aug 27 Javascript
详解Bootstrap创建表单的三种格式(一)
Jan 04 Javascript
JavaScript隐式类型转换
Mar 15 Javascript
微信小程序性能优化之checkSession的使用
Mar 06 Javascript
javascript canvas API内容整理
Feb 16 Javascript
全面解析JavaScript Module模式
Jul 24 Javascript
vue中的循环对象属性和属性值用法
Sep 04 Javascript
Vue深入理解插槽slot的使用
Aug 05 Vue.js
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中通过smtp发邮件的类,测试通过
2007/01/22 PHP
实用函数10
2007/11/08 PHP
用PHP实现递归循环每一个目录
2010/08/08 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
win7下memCache的安装过程(具体操作步骤)
2013/06/28 PHP
PHP中iconv函数知识汇总
2015/07/02 PHP
CI框架中数据库操作函数$this->db->where()相关用法总结
2016/05/17 PHP
关于PHP中字符串与多进制转换函数的实例代码
2016/11/03 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
php探针使用原理和技巧讲解
2019/09/17 PHP
img onload事件绑定各浏览器均可执行
2012/12/19 Javascript
jquery实现商品拖动选择效果代码(自写)
2013/05/28 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
Javascript写入txt和读取txt文件示例
2014/02/12 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
Javascript动态创建div的方法
2015/02/09 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
Vue.js系列之项目结构说明(2)
2017/01/03 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
Python heapq使用详解及实例代码
2017/01/25 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
python分布式编程实现过程解析
2019/11/08 Python
为什么是 Python -m
2020/06/19 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
可自定义箭头样式的CSS3气泡提示框
2016/03/16 HTML / CSS
通信工程求职信
2014/07/16 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
企业计划生育责任书
2015/05/09 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
家庭经济困难证明
2015/06/23 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
Django路由层如何获取正确的url
2021/07/15 Python
Python开发五子棋小游戏
2022/04/28 Python