Blogs-Wang

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 {width: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 {width: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>

分类:

技术点:

相关文章:

  • 2021-12-21
  • 2021-12-21
  • 2021-08-12
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-21
  • 2021-12-21
  • 2021-12-21
  • 2021-06-12
  • 2022-02-08
  • 2022-03-03
相关资源
相似解决方案