2011-09-10 60 views
1

我試圖擴大textarea,但以某種方式失敗。它比內容大。請參閱此jsfiddle。它爲什麼會失敗?Textarea問題

編輯:似乎我的問題不夠清楚,所以讓我對它做一些清晰的說明。我想要的是把任何textarea(可能有滾動條,因爲它的內容溢出)到textarea,它的尺寸使得滾動條消失,因爲內容不再溢出。

爲什麼我的解決方案不起作用?這就是我想知道的。 如果我刪除「thisissomeverylongwordintheworld」,它確實按預期工作。

編輯2:我只是測試了的jsfiddle在Chrome和textarea的有一個滾動條,所以,我想有一些問題,scrollWidthscrollHeight屬性 ...或者我不明白他們的權利? :)

+0

你試圖給它什麼尺寸? –

+0

您正在嘗試擴展textarea?從我的角度來看,它似乎正在將它完美地擴展。你想做什麼?對於記錄來說,在這種情況下,內容就是文字......並不大於內容,或者你是指窗口觀點? –

+0

Peter Olson,你會在我發佈的jsfiddle中看到它。 Kalle H.Väravas,textarea遠遠超過了應該根據文本。 – Flow

回答

1

也許你應該使用DIV與contenteditable=true

http://jsfiddle.net/6S77z/6/

+0

我已經更新了我對該要求的回答:) – Joe

+0

增加了寬度。寬度必須相同,只有高度應該改變,因爲高度是可滾動的,你可以在http://jsfiddle.net/6S77z/3/ – Flow

+0

中看到。對不起,這不是我的意思是「沒有CSS」。儘管如此,我寫過關於上面的問題。 – Flow

0

這個問題尚不清楚。但可能你(如果不是現在,那麼你會在你想到這個想法後)想要自動增長的textarea插件。這是一個腳本,在我的網站上運行,原作者是未知的。但是,它的工作原理..

現場演示:http://jsfiddle.net/hobobne/6S77z/9/
(嘗試刪除您的文本,它會採取你的行動[添加或刪除文本])

的一點是,當文檔(你的網站)被加載後,它會計算文本區域內的文本數量。然後它會自動生成適合文本數量/長度的textarea。它不會產生一個滾動條(肉類您的要求),儘量使用CSS(您的要求),並且不會留下任何額外的空間(好吧,一條線..在底部,這是必要的。)

我標記在插件開始和結束。還哪裏是觸發:

$('textarea').autogrow(); 

PS:您可以設置textarea的寬度與CSS或cols=""

編輯:爲什麼沒有你的代碼工作:

什麼是不工作?該代碼旨在計算文本數量並相應地調整textarea。這就是它的作用。有對文本區域沒有滾動條:

enter image description here

有,然而,在window..as textarea的很長一個滾動條..您是否想在文字區域沒有滾動條,也沒有滾動條上窗戶?

這是不可能的!我的意思是,你的要求是:

  • 沒有CSS
  • 上textarea的關鍵
  • 窗口關鍵
  • 不能改變上沒有滾動沒有滾動的文字區域寬度關鍵
  • 不能刪除任何文本嚴重

這些要求意味着,不可能。如果你想繼續,你必須給出一些關鍵要求。但是沒有任何滾動條,不可能以任何方式..其對物理學.. 你不能把一個更大的盒子放在較小的盒子裏,而不改變盒子尺寸!

+0

這很好,但爲什麼我的解決方案不起作用?這就是我想知道的。如果我刪除了「這個世界上的這個詞,」它確實按預期工作。 – Flow

+0

@Flow:你的代碼在textarea上沒有生成任何滾動條。你基本上是在這裏追逐你自己的尾巴。如果內容太多,你必須在某處放置一些滾動條。無論是在textarea或窗口。你的腳本正在處理這個事實,它不會產生任何滾動條。並讓我指出,你正在使用css,在你的jQuery ..但它仍然是css .. –

+0

也FYI,在最新的Opera中運行時,您的演示中有滾動條。儘管FF中沒有滾動條。 – Flow