我不在乎某個特定的技術,它可能是JS,CSS甚至是一些非標準和邪惡的html屬性。我只想讓input
在用戶鍵入右邊框時變大。調整輸入大小以適應其內容
9
A
回答
8
也許別人有更好的辦法,但你可以試試這個:
例子:http://jsfiddle.net/aAueA/1/
var input = document.getElementsByTagName('input')[0];
input.onkeypress = input.onkeydown = function() {
this.size = (this.value.length > 10) ? this.value.length : 10;
};
這將其設置在10的最小尺寸,如果你超越10擴展字符。
也許最適合具有固定寬度的字體:
input {
font-family:Courier;
}
12
讓瀏覽器做的寬度計算使用div
與contenteditable
設置爲true
。
<div class="pseudo-input" contenteditable="true">Resizes to my content!</div>
3
您還可以創建div元素沒有任何問題,你的輸入風格複製到它和使用它的尺寸調整輸入。 (選擇多種用途this solution)。
var input = $('input'),
dummy = $('<div style="position:absolute; left: -1000%;">').appendTo('body');
['font-size', 'font-style', 'font-weight', 'font-family',
'line-height', 'text-transform', 'letter-spacing'].forEach(function(index) {
dummy.css(index, input.css(index));
});
input.on('input', function() {
dummy.html(this.value);
input.width(dummy.width());
});
UPD:最好使用pre而不是div來跟隨空格大小。
+0
感謝您的解決方案!不過,它並沒有考慮到連續的空格字符。我編輯了你的文章,並向div div添加了「white-space:pre」。另外,爲避免脫字符號消失,可能需要幾個像素的額外寬度。 – Kafoso
相關問題
- 1. 如何調整UITableViewCell的大小以適應其內容?
- 2. 如何調整stacklayout面板的大小以適應其內容?
- 3. 調整Ext.form.ComboBox的大小以適應其內容
- 4. 可調整大小的UITextView以適應其內容
- 5. 如何動態調整NSMenu的大小以適應其內容?
- 6. 調整JOptionDialog的大小以適應其內容
- 7. 如何調整UICollectionView單元的大小以適應其內容?
- 8. 調整輸入框的大小以調整內容
- 9. Twitter Bootstrap:調整數字輸入的大小以適應內容變化
- 10. 調整div的大小以適應最大高度的內容
- 11. 調整大小格,以適應內部內容
- 12. 內容容器沒有調整大小以適合內容
- 13. 如何自動調整窗口大小以適合其內容
- 14. 垂直調整StackPanel大小以適合其內容
- 15. 如何調整jTable的大小以適應其內容,包括其標題?
- 16. 調整字體大小以適應內容時出現溢出
- 17. jquery調整窗口大小以適應內容
- 18. UIWebView將不會調整大小以適應內容?
- 19. 如何調整自定義UITableViewCell的大小以適應內容?
- 20. 動態調整CFWINDOW的大小以適應內容
- 21. 調整背景大小以適應內容?
- 22. UIView不調整大小以適應內容
- 23. 的NSView自動調整大小以適應內容查看
- 24. 的UIView - 調整大小以適應內容
- 25. 動態調整textarea的大小以適應內容
- 26. 自動調整NSTabView的大小以適應內容視圖
- 27. 的NSTextField調整大小以適應內容
- 28. MutliLine的EditText調整大小以適應內容中ExpandableListView
- 29. C#調整文本框的大小以適應內容
- 30. Qt:如何調整窗口的大小以適應其新內容
它不適用於CJK字符。 –
函數更簡潔的版本:'this.size = Math.max(this.value.length,10);' – Meisner