2016-03-03 62 views
0

我使用的是autosize插件(但不会介意替代方法),我需要调整textarea的大小,并且它也应该在输入时自动调整大小(例如,autosize.js允许你要做的)。在加载时调整文本区域的大小

我的问题是,autosize开箱即用这个选项吗?我的网页上没有找到这样的信息,我的文本区域已加载并且都没有工作,我试过$(el).trigger('autosize.resize')autosize.update($(el))

此外,我的textareas是原始隐藏的,这将被切换显示一个CSS类。我想知道这是否阻碍了这个过程。

任何想法表示赞赏,谢谢!

回答

1

随着display: none你不能计算任何东西,因为textarea的高度&宽度是0x0px。

您必须在显示textarea后更新大小。 编辑:或先切换显示,然后应用自动调整大小。

+0

是的,但使用'display:none'是最简单的显示/隐藏不需要额外的CSS不同的UI组件。任何解决方法在这里? – benjaminz

+1

当你显示你的textarea时,你的'$(el).trigger('autosize.resize')'或'autosize.update($(el))' –

+0

我没有,只是尝试切换它显示的第一个然后应用autosize,它的作品就像一个魅力,谢谢!你能否稍微更新你的答案,以便我可以把它作为正确的答案?谢谢! – benjaminz

0

我尝试了不同的插件,甚至自己写了一个插件,但没有一个是好的。我结束了使用与contenteditable="true"

这对我完美的工作。

+0

我会尝试,如果没有解决方案可以找到文本区域,谢谢 – benjaminz

0

您可以使用CSS在初始加载时适当调整textarea的尺寸,然后让autosize脚本在内容更改时处理textarea的尺寸调整吗?

+0

你的意思是让它透明,或者'visibility-hidden:true'? – benjaminz

+0

你说'我需要调整它的大小',所以我想你可以在CSS中指定'min-height'或'height'来控制'textarea'的初始大小。 – Steve