我想構建一個textarea,其寬度將在插入文本時動態增加。如何在輸入文本時自動增加textarea的寬度?
我發現許多腳本可以通過改變它的高度來動態調整textarea的大小,但沒有任何東西符合我的需求。
那麼你知道任何可以幫助嗎?
我想構建一個textarea,其寬度將在插入文本時動態增加。如何在輸入文本時自動增加textarea的寬度?
我發現許多腳本可以通過改變它的高度來動態調整textarea的大小,但沒有任何東西符合我的需求。
那麼你知道任何可以幫助嗎?
給textarea一個ID。如果textarea內的字體是等寬字體很簡單。如果不是有點複雜(創建一個字符寬度的分佈函數,請平均使用它)。
在一個或的onkeyup事件onkeypressed使用類似
if (document.getElementById('yourid').value.lenght>defaultValue)
{
defaultValue = defaultValue+charWidth;
document.getElementById('yourid').width = (defaultValue+charWidth)+'px';
}
這可能幫助..
<textarea id="tarea" onkeypress="change()" style="width:200;"> </textarea>
<script type="text/javascript">
function change() {
var a = document.getElementById('tarea');
var len = a.value.length;
a.style.width = 200 + len;
alert(a.style.width);
}
</script>
有一個美好的一天..
香港專業教育學院試圖用這樣的東西HTTP: //plugins.jquery.com/project/autogrowtextarea,但我只得到textarea的垂直擴展 – antonis 2011-03-13 16:29:36
您需要修改其中一個腳本來改變寬度而不是高度。 – SLaks 2011-03-13 16:32:13
所以,你真的試圖寫你自己的水平寬度擴展插件?有關於如何編寫自己的垂直擴展器的教程(如[this one](http://blogs.sitepoint.com/2009/07/29/build-auto-expanding-textarea-2/))應該是非常容易適應水平擴展。但是,我不得不質疑這一點的有用性。你爲什麼要textarea水平擴展?這只是簡單的討厭,國際海事組織。 – 2011-03-13 16:33:35