我正在尝试调整文本区域的大小,以尽可能紧密地适应其中的内容。这是我目前的努力:
function resizeTextarea(t) {
a = t.value.split('\n');
b = 1;
for (x = 0; x < a.length; x++) {
c = a[x].length;
if (c >= 75) b += Math.ceiling(c/75);
}
b += a.length;
t.rows = b;
}
这个方法效果还不错,但是当用户填满宽度时,似乎会出现失败的情况。(注:这里使用的75代表我的文本区域的字符宽度)
还有一个奇怪的效果,就是[enter][key]会使文本区域超过文本末尾2行,然后下一个[key]会将其带回到预期的多出一行。我尝试了将c设置为2,如果c<=1,但没有效果。这个问题并不是很严重,但纠正它会更好。
任何帮助都将不胜感激。
注意:此函数在按键按下时调用。