这个建议的重复问题是我提出这个问题的基础,所以它不是一个重复问题!实际上,我从一开始就已经链接到了那个问题...
良好编辑:
我制作了一个JSFiddle(我的第一次 :))。请注意,文本区域不会像人们希望的那样扩展。在文本区域中键入任何内容,它将立即被调整大小。
如果我们可以自动发送按键事件,它可能会起作用...(this相关问题没有帮助,答案没有效果)。
我正在使用从此处获取的
textarea
。然后,我从文件中读取内容并将其放入文本框中,但它没有按预期调整大小。我像这样更新文本框:
function updateTextbox(text) {
$('#cagetextbox').val(text);
};
有什么想法吗?
我使用的是Ubuntu 12.04上的Firefox 34.0 canonical,如果这对问题有所影响,我希望不要这样,因为我的一些用户使用Chrome。
编辑:
一种尝试的方法是编写类似于以下内容的代码:
$('#cagetextbox').attr("rows", how many rows does the new text contain);
请注意,如果我们尝试查找textarea中包含的文本行数,我们将得到1作为答案。
也许可以使用width/(length_of_line * font_size)
这样的公式。经过一些测试,如果我减去1(当然只保留结果的整数部分),似乎是正确的。
width: 100%;
,让文本根据需要填充和滚动,而不是冒险在视口中出现过大的框。 - dandaviscols=n
是唯一可靠的调整大小的方法。因此,您需要找到最长行的宽度,并将cols
属性设置为该值。cagetextbox.cols=Math.max.apply(null, text.split("\n").map(function(a){return a.length;}));
- dandavis