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 相关文章推荐
jquery中EasyUI实现异步树
Mar 01 Javascript
jquery插件corner实现圆角边框的方法
Mar 09 Javascript
js实现汉字排序的方法
Jul 23 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
Feb 26 Javascript
Vue.js中的computed工作原理
Mar 22 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
Dec 29 Javascript
实例讲解JS中pop使用方法
Jan 27 Javascript
Vue.js如何使用Socket.IO的示例代码
Sep 05 Javascript
详解jQuery中的prop()使用方法
Jan 05 jQuery
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
Jul 27 Javascript
JS+JQuery实现无缝连接轮播图
Dec 30 jQuery
使用js原生实现年份轮播选择效果实例
Jan 12 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采集时被封ip的解决方法
2010/08/29 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
php Session无效分析资料整理
2016/11/29 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
PHP设计模式概论【概念、分类、原则等】
2020/05/01 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
JavaScript与C# Windows应用程序交互方法
2007/06/29 Javascript
JQuery团队打造的javascript单元测试工具QUnit介绍
2010/02/26 Javascript
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
2010/09/03 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
JavaScript调用后台的三种方法实例
2013/10/17 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
Vue+element-ui 实现表格的分页功能示例
2018/08/18 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
js实现简易ATM功能
2020/10/27 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
python中__call__方法示例分析
2014/10/11 Python
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
2016/06/21 Python
python使用SMTP发送qq或sina邮件
2017/10/21 Python
分分钟入门python语言
2018/03/20 Python
python高阶爬虫实战分析
2018/07/29 Python
python爬取内容存入Excel实例
2019/02/20 Python
python 标准差计算的实现(std)
2019/07/29 Python
大学本科毕业生的自我鉴定
2013/11/26 职场文书
消防宣传标语大全
2015/08/03 职场文书
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript
一行Python命令实现批量加水印
2022/04/07 Python