2012-08-31 35 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