首頁 > web前端 > js教程 > 主體

Jquery實作textarea根據文字內容自適應高度_jquery

WBOY
發布: 2016-05-16 16:05:57
原創
1284 人瀏覽過

在玩微博的時候我們可能會注意到一個細節就是不管是新浪微博還是騰訊微博在轉發和評論的時候給你的默認文本框的高度都不會很高,這可能是版面的限制和用戶通常只轉播或評論一個短句有關。但是當你輸入超過一行文字的時候,文字框的高度就自動撐高了,大大改善了體驗,讓使用者可以看到全部的文字。不用再去拖曳文字方塊的捲軸。

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有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板