输入文本时调整输入文本字段的大小

Joh*_*uay 4 html javascript css

是否可以在输入文本时调整文本输入框的大小?我在网上搜索过但没找到任何东西.

Der*_*會功夫 9

我刚给你做了一个,试试这里:http://jsfiddle.net/FNMSP/2/

function autoResize(e){
    var ele=e.target;                          //get the text field
    var t=ele.scrollTop;                       //use scroll top to determine if
    ele.scrollTop=0                              //space is enough
    if(t>0){                                       //If it needs more space....
        ele.style.height=(ele.offsetHeight+t+t)+"px";  //Then add space for it!
    }          
}
Run Code Online (Sandbox Code Playgroud)

你可以这样做到textarea,

<textarea onkeydown="autoResize(event)">Auto Resize!</textarea>
Run Code Online (Sandbox Code Playgroud)

或者使用下面的方法将功能附加到每个<textarea>:

var ele=document.getElementsByTagName("textarea");
for(i=0;i<ele;i++){
    ele[i].addEventListener("keydown",autoResize,false)
}
Run Code Online (Sandbox Code Playgroud)

随意使用它.