robal94
5.02.2012, 18:04:35
Witam!
Napisałem posty edytor tekstu oparty na polu textarea i JS. Mam jednak taki problem. Po wciśnięciu przycisku, który ma np. pogrubić tekst, znaczniki {b]{/b] ustawiam na końcu tekstu- kopiuje tekst, dodaje znaczniki, podmieniam nowy test w miejsce starego. Jak zrobić, aby w miejsce przed kursorem(lub zaznaczeniem) pojawiało się {b], a po nim {/b]? Tzn, jak pobrać tekst sprzed zaznaczenia(lub kursora), tekst zaznaczony i resztę tekstu?
Bardzo proszę o pomoc.
Pozdrawiam,
~Robal94
skowron-line
5.02.2012, 18:25:59
robal94
5.02.2012, 18:28:21
a wszystkie wersje czy te starsze od IE 8?
skowron-line
5.02.2012, 18:31:24
Cytat(robal94 @ 5.02.2012, 18:28:21 )

a wszystkie wersje czy te starsze od IE 8?
Chyba wszystkie mają takie samo ale głowy sobie nie dam obciąć
http://stackoverflow.com/questions/2813612...lect-text-range tu jest kawałek kodu który działa w we wszystkich przeglądarkach.
Ale lepiej użyć jakiejś biblioteki.
robal94
5.02.2012, 18:34:28
Bardzo to pomogło, ale jak podzielić tekst na te 3 części? nie ma czegoś takiego jak document.beforeSelect. ?
skowron-line
5.02.2012, 18:44:26
Cytat(robal94 @ 5.02.2012, 18:34:28 )

Bardzo to pomogło, ale jak podzielić tekst na te 3 części? nie ma czegoś takiego jak document.beforeSelect. ?
create range zwraca Ci pozycję kursora, a przy zaznaczeniu zwraca początek i koniec.
Aby podzielić tekst użyj funkcji
substring