2012-10-23 16 views
7

Próbuję utworzyć element textarea mający programowo zdefiniowany rozmiar oryginału/domyślny, ale który użytkownik może zmienić rozmiar w ramach zdefiniowanych limitów pozwól mu rosnąć i zmniejszać się.Umożliwia zmianę rozmiaru tekstowego w celu zmniejszenia (nie tylko wzrostu) elementu z oryginalnego/domyślnego rozmiaru.

Próbowałem ustawienie resize, min-width, max-width i width właściwości strefy tekstu, ale do tej pory, to tylko pozwala użytkownikowi rosną element textarea, nie kurczyć go. Przeglądarka pozwoli użytkownikowi na zmianę rozmiaru i rozmiaru elementu w granicach width i max-width, a nie pomiędzy granicami min-width i max-width, zgodnie z przeznaczeniem.

Czy istnieje prosty sposób określania domyślny wielkości, które nie będą również traktowane jako minimalnej rozmiarze?


Oto kod pracuję z:

function textAreaWithDefault(size) { 
    var ta = document.createElement("textArea"); 

    ta.style.resize = "both"; 
    ta.style.minWidth = "100px"; 
    ta.style.width = size + "px"; // default size 
    ta.style.maxWidth = "500px"; 

    document.body.appendChild(ta); 
} 

Czysty css i/lub javascript rozwiązanie jest korzystne, ale ma tylko do pracy w sieci web zestawu.

Odpowiedz

0

spróbuj ustawić min-max szerokość równą szerokości i szerokości do 0

+0

Oto ładny (ogólnie) samouczek: http://davidwalsh.name/textarea-resize – tobspr

+2

To właśnie zapobiega zmniejszaniu się elementu textarea ** lub ** rosnącego. Chcę, żeby się zmniejszyło ** i ** rosło. – underemployedJD

1

Chciałbym spojrzeć na fittext lub podobnych scenariuszy: http://fittextjs.com/

to nie dokładnie to, co opisujesz.

+0

Jak to możliwe? Chce zmniejszyć pojemnik textarea, a nie rozmiar czcionki. – shuji

Powiązane problemy