位置:海鸟网 > IT > JavaScript >

多行文本框自适应内容高度

一般情况下,当一个多行文本框的内容达到一定高度后,就有可能出现滚动条,有没有办法使多行文本框的高度自适应内容高度,自动变高或变低呢?下面的代码可以实现这样的效果:

function ResizeTextarea(e) {
       e = e.target || e;
       var vlen = e.value.length, ewidth = e.offsetWidth;//内容的长度和宽度
       if (vlen != e.valLength || ewidth != e.boxWidth) {
       if (hCheck && (vlen < e.valLength || ewidth != e.boxWidth)) e.style.height = "0px";
       var h = Math.max(e.expandMin, Math.min(e.scrollHeight, e.expandMax));
       e.style.overflow = (e.scrollHeight > h ? "auto" : "hidden");
       e.style.height = h + "px";
       e.valLength = vlen;
       e.boxWidth = ewidth;
       }
       return true;
};