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 相关文章推荐
超酷的网页音乐播放器DewPlayer使用方法
Dec 18 Javascript
用JS判断IE版本的代码 超管用!
Aug 09 Javascript
JavaScript使用键盘输入控制实现数字验证功能
Aug 19 Javascript
layer实现弹窗提交信息
Dec 12 Javascript
jQuery编写网页版2048小游戏
Jan 06 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
Mar 01 Javascript
动态创建Angular组件实现popup弹窗功能
Sep 15 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
Mar 03 Javascript
使用jQuery给Table动态增加行、清空table的方法
Sep 05 jQuery
vue keep-alive 动态删除组件缓存的例子
Nov 04 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
Feb 17 Javascript
详解Vue3 Teleport 的实践及原理
Dec 02 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去除html标记的原生函数详解
2015/01/27 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
php判断是否连接上网络的方法实例详解
2016/12/14 PHP
简短几句 通俗解释javascript的闭包
2011/01/17 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
2015/11/19 Javascript
Bootstrap Chart组件使用教程
2016/04/28 Javascript
jQuery扩展_动力节点Java学院整理
2017/07/05 jQuery
Vue插值、表达式、分隔符、指令知识小结
2018/10/12 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
基于vue开发微信小程序mpvue-docs跳转页面功能
2019/04/10 Javascript
Vue 自定义指令实现一键 Copy功能
2019/09/16 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
2020/07/22 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
[01:20:05]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第二场 2月5日
2021/03/11 DOTA
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
利用Python+阿里云实现DDNS动态域名解析的方法
2019/04/01 Python
python中count函数简单的实例讲解
2020/02/06 Python
python pymysql库的常用操作
2020/10/16 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
2020/12/15 Python
一款利用html5和css3动画排列人物头像的实例演示
2014/12/05 HTML / CSS
波比布朗英国官网:Bobbi Brown英国
2017/11/13 全球购物
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
学生喝酒检讨书
2014/02/06 职场文书
毕业欢送会致辞
2015/07/29 职场文书
护士旷工检讨书
2015/08/15 职场文书
运动会广播稿100字
2015/08/19 职场文书
解析python中的jsonpath 提取器
2022/01/18 Python