Mam stronę z bardzo długim tekstem, używanym do edycji dużych ilości tekstów. Zwykle podczas pisania, gdy kursor zbliża się do dolnej krawędzi obszaru tekstowego, strona będzie automatycznie przewijana, tak aby karetka zawsze znajdowała się w okienku podglądu (Firefox będzie przewijać pojedynczą linię naraz, Chrome przewinie karetkę do środka rzutnia).Jak zachować ostrożność textarea zawsze w widocznym obszarze?
Mój problem wynika z faktu, że programowo zmieniam zawartość obszaru tekstowego na podstawie tego, co użytkownik wpisze. W niektórych przypadkach wiąże się to z dodawaniem dodatkowej treści, co powoduje odsunięcie wątku z widoku.
Po naciśnięciu klawisza autoportret rozpoczyna się i przewijany jest widok przewijania - ale nie wcześniej, więc podczas pisania użytkownik traci wzrok na karetkę. Miałem nadzieję, że po prostu uruchomię kluczowe zdarzenia w obszarze tekstowym, aby przeglądarka automatycznie przeszła autoprzesyłanie, ale zdarzenia wyzwalane nie w pełni emulują zachowanie użytkownika i nie otrzymuję odpowiedzi.
Jedynym rozwiązaniem widzę teraz jest, aby spróbować dostać współrzędne XY karetki przez:
- Znalezienie położenia znaków karetki.
- Budowanie elementu div, który odzwierciedla zawartość textarea za pomocą znacznika na pozycji caret.
- Pomiar pozycji znacznika.
Czy jest to prostszy sposób?
mogą być związane z: http://stackoverflow.com/a/12738472/1615483 –