2012-08-31 29 views
0

我有textarea,用戶在不按回車鍵的情況下一直寫入它。如果他們按輸入我得到\n字符,我需要,但可悲的是,他們沒有按輸入,而是他們只是繼續打字!檢測到textarea已經開始向換行符中添加字符串

現在,有沒有什麼辦法可以在textarea移動到下一行之後在字符串內添加新行character

潛在的重複:Automatic newline in textarea

注:上述共享的問題有一個公認的答案。但該鏈接不工作:(其他選項都不是很有效的。

我有幾個技術來操縱String我從<textarea>得到。所以,隨時給任何單一的解決方案。

  • HTML
  • 的JavaScript
  • 嫩枝
  • PHP
  • CSS
+0

你是什麼意思?當用戶按下輸入時,你需要添加一個字符?哪個角色? –

+0

我想他希望textarea在光標到達textarea的右側之後被包裝到下一行時自動添加一個LF。 –

+0

@MihaiIorga,對不起,不太清楚。但丹尼爾的解釋是完美的 – doNotCheckMyBlog

回答

1

解決此問題的一種方法是使文本區域自動調整大小。因此,用戶從一行textarea開始,一旦文本變得太長,textarea會調整其高度以給用戶一個新的空行。

檢查this question或使用您的收藏做一些研究。搜索引擎,如果你需要一種方法來做到這一點。

只要腳本觸發高度變化,您可以在之前追加最新字符

//更新:您可能想檢查一個textarea的行爲,因爲文本最有可能包裝在最新的單詞之前。你必須編寫一個算法來檢索文本中需要插入LF的位置,以便不破壞文本。這聽起來很複雜,但不應該太難。只需檢查文字被包裝後的字符,並搜索其中一個字符的最後一次出現。

+0

我的html通過Twig渲染。我試圖檢查高度是否正在改變。但不幸的是,textarea的大小保持不變。我猜只剩下一個選項,計算char的寬度和textarea的寬度,然後在每個塊後面添加\ n。但它只是非常髒的解決方案 – doNotCheckMyBlog