Nie dbam o konkretną technologię, może to być JS, CSS, a nawet niektóre niestandardowe i złe atrybuty html. Chcę tylko, żeby input
był większy, jeśli użytkownik nad prawym ramką.Zmień rozmiar danych wejściowych, aby dopasować je do zawartości
Odpowiedz
Może ktoś ma lepszy sposób, ale można spróbować to:
Przykład: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;
};
ten ustawia go w minimalnej wielkości 10 i rozszerza jeśli wykracza poza 10 postacie.
Prawdopodobnie najlepiej o stałej szerokości czcionki:
input {
font-family:Courier;
}
Niech przeglądarka zrobić obliczeń szerokości za pomocą div
z contenteditable
zestaw do true
.
<div class="pseudo-input" contenteditable="true">Resizes to my content!</div>
Nie powinno być żadnych problemów z obsługą przeglądarki http://caniuse.com/#feat=contenteditable
Można również utworzyć elementu div, skopiuj swój styl wejścia do niego i używać jego wymiarów do rozmiaru wejście. (Wybrane wielokrotne zastosowania 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: lepiej używać pre zamiast div, aby śledzić wielkość spacji.
Dzięki za to rozwiązanie! Nie uwzględnia jednak kolejnych białych znaków. Edytowałem twój post i dodałem "white-space: pre" do manekina div. Również kilka pikselów o większej szerokości może być konieczne w celu uniknięcia zniknięcia kreski. – Kafoso
- 1. Zmień rozmiar zewnętrznej zawartości witryny, aby dopasować do szerokości iFrame
- 2. Skróć NSString, aby dopasować rozmiar?
- 3. Zmień rozmiar okna w celu dopasowania do zawartości
- 4. Sterowanie okna motywu WPF, aby dopasować je do operatorów Telerik
- 5. Jak dopasować UITableView do rozmiaru zawartości?
- 6. Zmień rozmiar UIImage i zmień rozmiar UIImageView
- 7. Skaluj rozmiar czcionki SKLabelNode, aby dopasować?
- 8. Kod Xcode "Rozmiar pasujący do zawartości" wyłączony
- 9. rozmiar UILabel dopasować
- 10. Podgląd tekstu: dopasuj rozmiar czcionki, aby dopasować do rodzica
- 11. iTextSharp: Jak zmienić rozmiar obrazu, aby dopasować go do rozmiaru?
- 12. Jak dopasować rozmiar tekstu do rozmiaru Silverlight?
- 13. Strony błędów Nginx - jedna zasada miejsca, aby je wszystkie dopasować?
- 14. Jak ustawić rozmiar UIBarButton w systemie iOS 11, aby dopasować rozmiar do iOS 10
- 15. Czy istnieje szybka metoda (skrót klawiaturowy itp.), Aby automatycznie dopasować rozmiar przycisku, aby dopasować rozmiar obrazu za pomocą scenorysów?
- 16. Jak dopasować rozmiar obrazu do rozmiaru JFrame?
- 17. Zmień rozmiar wysokości UITableView tak, aby zmieściła się tylko całkowita wielkość zawartości.
- 18. Jak zmienić rozmiar obrazu, aby dopasować komórkę UITableView?
- 19. Dopasowywanie i rozmiar obrazu, aby dopasować element div (ładowanie początkowe)
- 20. C# Skalowanie treści UserControl, aby dopasować użytkowników Dpi/Rozmiar czcionki
- 21. Android - ustawić tapetę, aby dopasować rozmiar ekranu telefonu
- 22. Zmień rozmiar UIStepper?
- 23. WpF zmień rozmiar kompletny
- 24. Jak mogę powiedzieć NSTextField, aby automatycznie zsynchronizował rozmiar czcionki, aby dopasować ją do tekstu?
- 25. Rozmiar zawartości zawartości kontrolnej do wypełnienia Silverlight 4
- 26. Zmień rozmiar paska błędu
- 27. Zmień rozmiar obrazu, aby zmieścił się w ramce ograniczającej
- 28. LinearLayout ImageView Zmień rozmiar wszystkich szerokości obrazu tak, aby pasował
- 29. Zmień rozmiar wysokości z Highcharts
- 30. Zmień rozmiar czcionki w legendzie
to nie działa dla znaków CJK. –
Bardziej zwięzła wersja funkcji: 'this.size = Math.max (this.value.length, 10);' – Meisner