Textarea问题

时间:2011-09-10 04:08:08

标签: javascript html

我正在尝试扩展textarea,但不知何故失败了。它比内容更大。请参阅此jsfiddle。为什么会失败?

编辑:似乎我的问题不够明确,所以让我说清楚。我想要的是将任何textarea(可能有滚动条,因为它的内容溢出)转换为具有滚动条消失的文本区域,因为内容不再溢出。

为什么我的解决方案不起作用?这就是我想知道的。 如果我删除“thisissomeverylongwordintheworld”,它确实可以正常工作。

编辑2:我刚刚测试了Chrome中的jsfiddle而textarea有一个滚动栏...所以我猜是 scrollWidth scrollHeight 有问题...或者我不理解他们吧? :)

2 个答案:

答案 0 :(得分:1)

也许你应该使用contenteditable=true的DIV:

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

答案 1 :(得分:0)

这个问题目前尚不清楚。但是可能你(如果不是现在,那么你会在得到这个想法之后)想要autogrow textarea插件。这是一个在我的网站上运行的脚本,原作者不详。但它有效..

现场演示:http://jsfiddle.net/hobobne/6S77z/9/
(尝试删除您的文字,它将采用您的操作[添加或删除文字])

重点是,当加载文档(您的网站)时,它将计算textarea内的文本量。然后它会自动增加适合文本数量/长度的textarea。它不会产生滚动条(根据你的要求),doest使用css(你的要求)并且不会留下任何额外的空间(好吧,一行......在底部,这是必要的。)

我标记了插件的开始和结束位置..触发器在哪里:

$('textarea').autogrow();

PS:您可以使用CSS或cols=""设置textarea的宽度。

编辑:为什么您的代码不起作用

什么不起作用?该代码用于计算文本数量并相应地调整文本区域。这就是它的作用。 textarea上没有滚动条:

enter image description here

然而,窗口上有一个滚动条..因为textarea非常长..你想在textarea上没有滚动条,窗口上也没有滚动条吗?

这是不可能的!我的意思是,您的要求是:

  • 没有css
  • textarea critical
  • 上没有滚动条
  • 窗口上没有滚动条 critical
  • 无法更改textareas width critical
  • 无法删除任何文字 critical

这些要求意味着,不可能。如果你想继续,你必须给出一些批判性的要求..但是没有任何滚动条,不可能以任何方式......它对物理.. 你不能把更大的盒子放进去小盒子,不改变盒子尺寸!