如何获得textarea中的最后一行?

时间:2011-04-17 10:16:23

标签: jquery

如果获取textarea中的最后一行,以防行自动包装成“新行”,即没有“/ n”,但是因为textarea的宽度?

3 个答案:

答案 0 :(得分:5)

我不确定我是否正确地提出了问题,但是......将带有jQuery的TextArea的值作为字符串使用类似$('#textareaid').val()的字符串,然后按照split("\n");这样的换行符分割字符串?

所以你会在textarea中获得var lines = $('#textareaid').val().split("\n")一系列行。然后你就像线[lines.length-1]那样拿最新的一个。

答案 1 :(得分:1)

只是一个简单的想法:

  • 使用display: inline-block;设置div,并使用与textarea
  • 相同的宽度和字体
  • 将textarea字符串的最后n个字符复制到该div中。
  • 增加n直到div的高度增加。这表明已经发生了换行。
  • 现在您知道字符串末尾的字符数量是否适合没有换行的行是n-1。

答案 2 :(得分:0)

我想我明白你想要什么。你想要最后一行,当最后一个真实线被敲入一个新线时,你想要最后的平安。

这真的不容易(据我所知)。您需要做的是通过换行符(\n)拆分行并获取最后一行。然后,您需要计算该行的长度(您无法确定浏览器使用的字体)。使用该大小,您需要将其与textarea的大小进行比较。这里的问题是你不能用textarea宽度划分该行,因为对于一行来说长的单词会被包装到下一行。所以你也需要计算每个单词。

我说祝你好运:)。