zoukankan      html  css  js  c++  java
  • textarea 自适应高度,js和angular两个版本

    angular 版本----------

    pc   移动端都经过测试,没问题 放心用吧!有粘贴无效的问题,因为内部调用的jquery实现,可以加一个 input.

    directiveApp.directive('autoHeight'function(){
          function autoHeight(elem){
              elem.style.height = 'auto';
              elem.scrollTop = 0; //防抖动
              elem.style.height = elem.scrollHeight + 'px';
          }
     
          return {
              scope: {},
              link: function (scope, ele, attrs) {
                  var oriEle = $(ele).get(0);
                  $(oriEle).focus();
                  $(oriEle).bind('keyup click input'function(e) {
                      autoHeight($(this).get(0));
                  });
                  var timer = setInterval(function(){
                      if($(oriEle).val()) {
                          autoHeight(oriEle);
                          clearInterval(timer);
                      }
                  }, 100);
              }
          };
      });<br>
    1
    2
    Html code:
      <textarea auto-height></textarea>

    -------------------------------------------------------------------------------------------------------------------------------

    js版本

    1.引入Jquery.

    <script id="jquery_183" type="text/javascript" class="library" src="/js/sandbox/jquery/jquery-1.8.3.min.js"></script>

    2.引入初始css.

    body { background:#fff; }

    textarea {300px; min-height:60px; overflow:hidden;}

    3.加入自适应的JS

    $.fn.autoHeight = function(){
        
        function autoHeight(elem){
            elem.style.height = 'auto';
            elem.scrollTop = 0; //防抖动
            elem.style.height = elem.scrollHeight + 'px';
        }
        
        this.each(function(){
            autoHeight(this);
            $(this).on('keyup', function(){
                autoHeight(this);
            });
        });
     
    }
        
        
    $('textarea[autoHeight]').autoHeight();

    4.加入textarea

    <div><textarea autoHeight="true">textarea</textarea></div>

    1.引入Jquery.

    <script id="jquery_183" type="text/javascript" class="library" src="/js/sandbox/jquery/jquery-1.8.3.min.js"></script>

    2.引入初始css.

    body { background:#fff; }

    textarea {300px; min-height:60px; overflow:hidden;}

    3.加入自适应的JS

    $.fn.autoHeight = function(){
        
        function autoHeight(elem){
            elem.style.height = 'auto';
            elem.scrollTop = 0; //防抖动
            elem.style.height = elem.scrollHeight + 'px';
        }
        
        this.each(function(){
            autoHeight(this);
            $(this).on('keyup', function(){
                autoHeight(this);
            });
        });
     
    }
        
        
    $('textarea[autoHeight]').autoHeight();

    4.加入textarea

    <div><textarea autoHeight="true">textarea</textarea></div>

    $(function(){
            $.fn.autoHeight = function(){    
            function autoHeight(elem){
                elem.style.height = 'auto';
                elem.scrollTop = 0; //防抖动
                elem.style.height = elem.scrollHeight + 'px';
            }
            this.each(function(){
                autoHeight(this);
                $(this).on('keyup', function(){
                    autoHeight(this);
                });
            });     
        }                
        $('textarea[autoHeight]').autoHeight();    
    })

    页面中的textarea直接加属性就行

    <textarea  autoHeight="true" readonly="readonly" > </textarea>

  • 相关阅读:
    MySql msi安装
    C# TextBox文本内容选中
    SQL 删除时间最靠前的几条数据
    Layui表格工具栏绑定事件失效问题
    Layui我提交表单时,table.reload(),表格会请求2次,是为什么?按下面的做
    table 中数据行循环滚动
    html 3D反转效果
    网页电子表数字样式
    power tool 强制撤销
    GHOST -ntexact 正常还原
  • 原文地址:https://www.cnblogs.com/Blogs-Wang/p/11462658.html
Copyright © 2011-2022 走看看