首页 > 语言 > JavaScript > 正文

Jquery实现textarea根据文本内容自适应高度

2024-05-06 16:18:17
字体:
来源:转载
供稿:网友

本文给大家分享的是Jquery实现textarea根据文本内容自适应高度,这些在平时的项目中挺实用的,所以抽空封装了一个文本框根据输入内容自适应高度的插件,这里推荐给小伙伴们。

在玩微博的时候我们可能会注意到一个细节就是不管是新浪微博还是腾讯微博在转发和评论的时候给你的默认文本框的高度都不会很高,这可能是版面的限制和用户通常只转播或者评论一个短句有关。但是当你输入超过一行文字的时候,文本框的高度就自动撑高了,大大改善了体验,这样用户就可以看到全部的文字。不用再去拖动文本框的滚动条。

autoTextarea.js

 

 
  1. (function($){ 
  2. $.fn.autoTextarea = function(options) { 
  3. var defaults={ 
  4. maxHeight:null
  5. minHeight:$(this).height() 
  6. }; 
  7. var opts = $.extend({},defaults,options); 
  8. return $(this).each(function() { 
  9. $(this).bind("paste cut keydown keyup focus blur",function(){ 
  10. var height,style=this.style; 
  11. this.style.height = opts.minHeight + 'px'
  12. if (this.scrollHeight > opts.minHeight) { 
  13. if (opts.maxHeight && this.scrollHeight > opts.maxHeight) { 
  14. height = opts.maxHeight; 
  15. style.overflowY = 'scroll'
  16. else { 
  17. height = this.scrollHeight; 
  18. style.overflowY = 'hidden'
  19. style.height = height + 'px'
  20. }); 
  21. }); 
  22. }; 
  23. })(jQuery); 

demo.js

 

 
  1. $(".doctable textarea").autoTextarea({ 
  2. maxHeight:400, 
  3. minHeight:100 
  4. }); 

以上所述就是本文的全部内容了,希望能够给大家学习jQuery有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选