【发布时间】:2011-06-30 08:44:53
【问题描述】:
我正在努力寻找最好的 textarea autogrow 插件。我需要一个即使我粘贴到它也可以调整文本区域大小的工具。有什么想法吗?
【问题讨论】:
标签: jquery
我正在努力寻找最好的 textarea autogrow 插件。我需要一个即使我粘贴到它也可以调整文本区域大小的工具。有什么想法吗?
【问题讨论】:
标签: jquery
Elastic 是一个非常好的,它也可以处理 CTRL + V 的情况。
您可以访问website 并试用演示。
【讨论】:
为什么不使用它? http://plugins.jquery.com/project/autogrowtextarea
或者这里插件的另一个更新版本:https://github.com/ro31337/jquery.ns-autogrow
【讨论】:
【讨论】:
我在jQuery中使用了以下方法。
setInterval(function(){
$(name_textarea).css('height', $(name_textarea)[0].scrollHeight+2+'px')
},100);
试试看,你可能会更改scrollHeight以获得最佳效果。
【讨论】:
您可以尝试 Advanced Textarea。从http://www.jscripts.info下载
【讨论】:
我制作了另一个插件来执行此操作,请在此处查看: https://github.com/AndrewDryga/jQuery.Textarea.Autoresize
【讨论】:
“我需要一个即使我粘贴到它也可以调整文本区域大小的工具”
此方法还侦听复制/粘贴事件: https://stackoverflow.com/a/5346855/4481831
我认为在现代浏览器上这些事件可以替换为“输入”事件,但在旧浏览器上这种方法不起作用。
【讨论】:
文本区域的自动扩展无需插件即可实现。例如:
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();
}
别忘了在document ready上调用函数:
jQuery(document).ready(function() {
change_textarea();
)};
【讨论】:
这是另一个插件,它也支持文本区域的水平增长:
https://github.com/dgbeck/jquery.autogrow-textarea
它也基于“镜像”方法,但在 IE 8 及更低版本中回退到简单的数学,因为镜像方法导致文本区域在 IE
【讨论】: