2012-01-28 74 views
1

此鏈接在另一篇文章中引用了關於調整textarea的大小。該頁面(和網站)現在全部關閉。自動調整大小textarea鏈接關閉jquery

沒有任何人有,這是它進行調整文本區域代碼:

http://javascriptly.com/examples/jquery-grab-bag/autogrow-textarea.html

編輯現在下面找到。萬一它又漲了下來:

(function ($) { 
    /* 
    * Auto-growing textareas; 
    */ 
    $.fn.autogrow = function (options) { 
     this.filter('textarea').each(function() { 
      var $this = $(this), 
       minHeight = $this.height(), 
       lineHeight = $this.css('lineHeight'); 
      var shadow = $('<div></div>').css({ 
       position: 'absolute', 
       top: -10000, 
       left: -10000, 
       width: $(this).width() - parseInt($this.css('paddingLeft')) - parseInt($this.css('paddingRight')), 
       fontSize: $this.css('fontSize'), 
       fontFamily: $this.css('fontFamily'), 
       lineHeight: $this.css('lineHeight'), 
       resize: 'none' 
      }).appendTo(document.body); 
      var update = function() { 
        var times = function (string, number) { 
          for(var i = 0, r = ''; i < number; i++) r += string; 
          return r; 
         }; 
        var val = this.value.replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/&/g, '&amp;').replace(/\n$/, '<br/>&nbsp;').replace(/\n/g, '<br/>').replace(/ {2,}/g, function (space) { 
         return times('&nbsp;', space.length - 1) + ' ' 
        }); 
        shadow.html(val); 
        $(this).css('height', Math.max(shadow.height() + 20, minHeight)); 
       } 
      $(this).change(update).keyup(update).keydown(update); 
      update.apply(this); 
     }); 
     return this; 
    } 
})(jQuery); 

回答