Wyszukiwanie Ostatecznego rozmiaru tekstu

Chcę udostępnić użytkownikom kontrolę rozmiaru tekstu. Oddałem to i przyjrzałem się wielu innym implementacjom, ale nie mogę znaleźć takiego, który spełniałby wszystkie moje wymagania. W szczególności chcę mieć kontrolę, która:

Działa w IE6, IE7, IE8 w systemie Windows i Firefox 3 i 3.5 w systemie Windows i OS X, gdy strona jest renderowana w trybie zgodnym ze standardami (tj. Nie w trybie dziwactwa).Nie zepsuje bufora cofania / cofania. Jest to szczególnie nieprzyjemny problem z IE - dodanie węzłów, usunięcie węzłów i niektórych innych operacji DOM spowoduje zresetowanie bufora wejściowego, co oznacza, że ​​jeśli implementacja opiera się na tych technikach, cofnięcie nie będzie zachowywać się tak, jak w standardowej formule textarea. Nie udało mi się znaleźć wielu informacji na temat tego błędu, z wyjątkiemta uwaga. Implementacje takie jak jQueryAuto Growing Plugin cierpią z powodu tego problemu - spróbuj cofnąć zmiany w IE i porównać, jak to działa ze standardowym tekstem. Dodałemprzykładowa strona demonstrując ten problem JSBin.Ma maksymalną wysokość, powyżej której kontrola nie może się rozwijać.Zmniejsza się odpowiednio po usunięciu treści.Nie migocze ani nie działa dziwnie przy naciskaniu klawiszy. na przykład Kontrola jQuery Auto Growing Textarea zachowuje się dziwnie, przynajmniej w IE7, gdy kontrola przekroczyła początkowy rozmiar.Nie wymaga od kontrolera używania czcionki o stałej szerokości / monospace.

Najbliższe, jakie widziałem w przypadku czegoś takiego, jak to, to pole aktualizacji statusu Facebooka, które jest zaimplementowane jako element edytowalny treści div, ale mam pewne zastrzeżenia co do użycia takiego elementu, ponieważ użycie div oznacza:

Trzeba wyraźnie nadać styl granicy, co oznacza, że ​​możemy skończyć z obramowaniem, które wygląda inaczej niż rodzime pole tekstowe.Potrzebujesz zsynchronizować zawartość z prawdziwym tekstem (ewentualnie w obu kierunkach?).Dodaje złożoność podczas umieszczania podpowiedzi i innych elementów względem położenia pola tekstowego.Podczas gdy to podejście działa na zasadzie aktualizacji statusu Facebooka, jak dobrze działa w formie zawierającej setki standardowych elementów wejściowych?

To, co przedstawiłem powyżej, reprezentuje „ostateczny tekst zmiany rozmiaru” - dotyczy to, co uważam za problemy z istniejącymi podejściami. Czy taka kontrola istnieje? Czy można napisać taką kontrolę?

questionAnswers(6)

yourAnswerToTheQuestion