2016-03-03 72 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