yarek12
2.12.2011, 21:16:57
Witam,
Piszę mały edytor w html5 i myślałem nad inteligentym kursorem w textarea, najpierw przedstawię o co mi chodzi.
Przykład:
lorem impus
lorem impsum| <-- Kiedy kursor znajduję się na końcu tej lini
| <- Po naciśnięciu enter, niech przeskoczy normalnie do następnej lini, ale nie na początek, ale na odstęp jaki był początek lini w poprzedniej lini.
Mam nadzieję, że prosto to wytłumaczyłem.
Mógłbym po wciśnięciu entera dopisać parę białych spacji do następnej lini, jednak jak zliczyć ile było odstępu w poprzedniej lini, może jakieś inne pomysły.
krowal
3.12.2011, 12:01:43
Mniej więcej:
1. Wykrywasz co zostało wciśnięte przy zdarzeniu keypress, jeśli enter to:
2. (zanim kursor przeskoczy niżej) Sprawdzasz pozycję kursora ->
http://blog.vishalon.net/index.php/javascr...on-in-textarea/ 3. Szukasz (string.search() lub string.indexOf()) poprzedniego końca wiersza i obliczasz ilość znaków między kursorem a początkiem linii.
4. Przesuwasz kursor o x znaków od początku kolejnej linii
Po drodze sprawdzasz różne rzeczy, czy np nie chcesz przejść kursorem dalej niż koniec następnej linii i inne tego typu pierdoły zależne od twoich założeń.
yarek12
4.12.2011, 11:06:38
Dzięki, bardzo przydatna odpowiedz!
Jakby wszyscy na tym forum umieli tak konkretnie tłumaczyć było ono całkiem niezłym źródłem informacji!