JQuery TextArea AutoGrow插件

时间:2011-02-19 12:35:57

标签: jquery

我正在尝试找到最好的textarea autogrow插件。我需要一个调整textarea的大小,即使我粘贴到它。有什么想法吗?

9 个答案:

答案 0 :(得分:7)

弹性非常好,它也处理CTRL + V情况。

您可以访问website并试用演示。

答案 1 :(得分:4)

答案 2 :(得分:4)

这是我最终使用的那个。到目前为止工作得很好!

http://www.jacklmoore.com/autosize/

JQuery Elastic插件很慢,在IE8中对我不起作用。

答案 3 :(得分:2)

我在jQuery中使用了以下方法。

setInterval(function(){
      $(name_textarea).css('height', $(name_textarea)[0].scrollHeight+2+'px')
},100);

尝试一下,您可以更改scrollHeight以获得最佳效果。

答案 4 :(得分:1)

您可以尝试使用Advanced Textarea。从http://www.jscripts.info下载

  • Auto-Height Textarea
  • 返回纯文本和HTML内容
  • 自动网址和电子邮件识别
  • HTML标签过滤器

答案 5 :(得分:0)

我制作了另一个插件来执行此操作,请在此处查看: https://github.com/AndrewDryga/jQuery.Textarea.Autoresize

答案 6 :(得分:0)

“我需要一个可以调整textarea的大小,即使我粘贴到它”

此方法还会侦听复制/粘贴事件: https://stackoverflow.com/a/5346855/4481831

我认为在现代浏览器中,这些事件可以用“输入”事件替换,但在旧浏览器上,这种方法不起作用。

答案 7 :(得分:0)

自动扩展文本区域可以无需插件。例如:

/**
* Returns the matching core data
*/
public function coretable() {
  return $this->morphOne('App\coretable', 'extendable');
}

并且不要忘记在文档准备就绪上调用该函数:

 var change_textarea = function() {
   jQuery('#your_textarea').on( 'change keyup keydown paste cut', 'textarea', 
   function(){
     jQuery(this).height(0).height(this.scrollHeight);
   }).find( 'textarea' ).change();  
 }  

答案 8 :(得分:-1)

这是另一个插件,它也支持文本区域的水平增长:

https://github.com/dgbeck/jquery.autogrow-textarea

它也基于“镜像”方法,但在IE 8及更低版本中回归到简单的数学,因为镜像方法导致在IE <= 8中增长太快的textareas。