我正在尝试扩展textarea,但不知何故失败了。它比内容更大。请参阅此jsfiddle。为什么会失败?
编辑:似乎我的问题不够明确,所以让我说清楚。我想要的是将任何textarea(可能有滚动条,因为它的内容溢出)转换为具有滚动条消失的文本区域,因为内容不再溢出。为什么我的解决方案不起作用?这就是我想知道的。 如果我删除“thisissomeverylongwordintheworld”,它确实可以正常工作。
编辑2:我刚刚测试了Chrome中的jsfiddle而textarea有一个滚动栏...所以我猜是 scrollWidth 和 scrollHeight 有问题...或者我不理解他们吧? :)答案 0 :(得分:1)
也许你应该使用contenteditable=true的DIV:
答案 1 :(得分:0)
这个问题目前尚不清楚。但是可能你(如果不是现在,那么你会在得到这个想法之后)想要autogrow textarea插件。这是一个在我的网站上运行的脚本,原作者不详。但它有效..
现场演示:http://jsfiddle.net/hobobne/6S77z/9/
(尝试删除您的文字,它将采用您的操作[添加或删除文字])
重点是,当加载文档(您的网站)时,它将计算textarea内的文本量。然后它会自动增加适合文本数量/长度的textarea。它不会产生滚动条(根据你的要求),doest使用css(你的要求)并且不会留下任何额外的空间(好吧,一行......在底部,这是必要的。)
我标记了插件的开始和结束位置..触发器在哪里:
$('textarea').autogrow();
PS:您可以使用CSS或cols=""
设置textarea的宽度。
编辑:为什么您的代码不起作用
什么不起作用?该代码用于计算文本数量并相应地调整文本区域。这就是它的作用。 textarea上没有滚动条:
然而,窗口上有一个滚动条..因为textarea非常长..你想在textarea上没有滚动条,窗口上也没有滚动条吗?
这是不可能的!我的意思是,您的要求是:
这些要求意味着,不可能。如果你想继续,你必须给出一些批判性的要求..但是没有任何滚动条,不可能以任何方式......它对物理.. 你不能把更大的盒子放进去小盒子,不改变盒子尺寸!