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>

  • 相关阅读:
    ubuntu+VS code+launch.json+task.json
    C++——运行时类型识别RTTI
    C++——模板
    C++——class类和struct结构体的唯一区别
    C++——右值引用
    C++——智能指针
    身份证号码格式检测
    PHP获取图片主题颜色
    PHP 压缩图片质量
    redis3.2装完后 其它机子访问爆protocol error, got 'n' as reply type byte
  • 原文地址:https://www.cnblogs.com/Blogs-Wang/p/11462658.html
Copyright © 2011-2022 走看看