我該如何去創建一個自動擴展寬度的文本框來適應它的內容?創建一個自動擴展寬度的文本框?
我一直在尋找大量有關基於高度的展開的信息,但寬度卻不多。
我也希望它適用於頁面上的每個文本框,而不僅僅是特定的文本框。
我該如何去創建一個自動擴展寬度的文本框來適應它的內容?創建一個自動擴展寬度的文本框?
我一直在尋找大量有關基於高度的展開的信息,但寬度卻不多。
我也希望它適用於頁面上的每個文本框,而不僅僅是特定的文本框。
不知道這是你的想法,但不應該這項工作?
<script language="javascript">
function expand(f)
{
f.size = f.size + 1;
}
</script>
<input type="text" size="20" onkeyup="expand(this)" />
如果你想退格鍵的操作使用本:
<input type="text" value="Sample text" onkeyup="(event.keyCode!==8)?this.size++:this.size--;" size="20">
如果你想退格鍵操作,而忽略箭頭鍵使用這一個:
<input type="text" value="Sample text" onkeyup="if(event.keyCode==8){this.size--;}else if(event.keyCode!==37&&event.keyCode!==38&&event.keyCode!==39&&event.keyCode!==40){this.size++;}" size="6">
我認爲一個更好的解決方案將檢查文本的長度,如果文本太長,則修改文本框,而不是檢查不應觸發擴展的每種類型的關鍵事件。舉例:
<script type="text/javascript">
function expand(textbox){
var minSize = 20;
var contentSize = textbox.value.length;
if(contentSize > minSize)
{
textboxSize = contentSize;
}
else
{
textboxSize = minSize;
}
}
</script>
<input type="text" size="20" onkeyup="expand(this)" />
很酷。好的解決方案但是如果用戶推回退格會發生什麼;) – Luke 2013-02-09 14:19:24