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 相关文章推荐
使用GruntJS链接与压缩多个JavaScript文件过程详解
Aug 02 Javascript
jQuery自带的一些常用方法总结
Sep 03 Javascript
jQuery实现购物车计算价格功能的方法
Mar 25 Javascript
jquery简单的弹出层浮动层代码
Apr 27 Javascript
JavaScript的jQuery库中function的存在和参数问题
Aug 13 Javascript
Vue.js基础知识汇总
Apr 27 Javascript
同步文本框内容JS代码实现
Aug 04 Javascript
jQuery如何跳转到另一个网页 就这么简单
Dec 28 Javascript
详解前后端分离之VueJS前端
May 24 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
Aug 14 Javascript
Ant Design moment对象和字符串之间的相互转化教程
Oct 27 Javascript
Vue如何实现组件间通信
May 15 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(1)
2006/10/09 PHP
聊天室php&mysql(六)
2006/10/09 PHP
php 生成随机验证码图片代码
2010/02/08 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
实例讲解php实现多线程
2019/01/27 PHP
php7 新增功能实例总结
2020/05/25 PHP
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
js获取系统的根路径实现介绍
2013/09/08 Javascript
用js通过url传参把数据从一个页面传到另一个页面
2014/09/01 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
理解JS事件循环
2016/01/07 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
常见的浏览器Hack技巧整理
2017/06/29 Javascript
node跨域请求方法小结
2017/08/25 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
vue-dplayer 视频播放器实例代码
2019/11/08 Javascript
python 调用win32pai 操作cmd的方法
2017/05/28 Python
Python单元测试简单示例
2018/07/03 Python
浅谈python之新式类
2018/08/12 Python
对python PLT中的image和skimage处理图片方法详解
2019/01/10 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
使用pycharm和pylint检查python代码规范操作
2020/06/09 Python
python判断元素是否存在的实例方法
2020/09/24 Python
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
保洁主管岗位职责
2013/11/20 职场文书
师范教师大学生职业生涯规划范文
2014/01/05 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
go开发alertmanger实现钉钉报警
2021/07/16 Golang
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫