Textarea i tekst manipulacja w html

0

Dzień dobry,
Mam takie pytanie, w jaki sposób można maniplować tekstem w textarea? załóżmy że chce dodać znak } po naciśnięciu znaku {
Co mogę zrobić? textarea.value += '}' i wszystko jest w porządku dodaje się.ale nie mogę wtedy tego znaku usunąć znakiem backspace. Mam raczej takie pytanie gdzie można w ogóle o tym poczytać co tam się dokładnie dzieje.

0

Jeśli chcesz zrobić w edytor kodu w HTML to jest to zdecydowanie szerszy temat. Chyba, że chodzi Ci tylko i wyłącznie o to żeby po naciśnięciu "{" automatycznie dopisał się "}" a po usunięciu "{" żeby kasował "{}".

0

Podstawowe pytanie - czy chcesz to dodawać w czasie rzeczywistym podczas pisania - czyli ktoś wciska nawias otwierający, a Ty automatycznie dodajesz zamykający, czy chcesz wykonać taki manewr na istniejącym już tekście?

Poza tym, podczas dodawania na żywo, nie powinny mieć miejsca takie problemy, o których piszesz. Po prostu - monitorujesz wciśnięcia klawisza, a potem (jeśli zostało wykryte wprowadzenie nawiasu otwierającego) to dodajesz zamknięcie. Całość zostaje wykonana jeden raz, potem już skryptu nie interesuje wprowadzony tekst, można dowolnie kasować jego elementy.

Podejrzewam, że masz coś skopane w JS. Wrzuć działający przykład na http://jsfiddle.net i podeślij link, zobaczymy w czym jest problem.

0

Takie coś chcesz zrobić ?
https://codemirror.net/

0

https://jsfiddle.net/putc6gbh/ ---o proszę
robię edytor coś jak jsfiddle. I wygląda to tak, że mam textarea, i służy to jako miejsce do wpisywania tekstu-edycja, dodawanie itd(opacity:0 aby nie było tego widać), przy każdym onchange wysyłane jest do komponentu który wyśiwetla to, komponent który ma taki sam rozmiar czcionki oraz szerokość i wysokość, natomiast jest zrobiony na spanach więc można go kolorowąć i to on jest widoczny zamiast textarea, aczkolwiek pisać na textarea można bo jest tylko przeżroczysty ... nie wiem czy to dobry pomysł ale działa.

0

Z tego kodu co masz w jsfiddle to wynika, że jeszcze sporo Ci brakuje ... Dałeś dobry link ?

0

Twój błąd polega na tym, że za każdym razem, gdy jest jakieś wciśnięcie klawisza, to sprawdzasz ostatni znak. To jest błąd. Ja bym raczej sprawdzał, jaki klawisz został wciśnięty, a nie jaki jest ostatnim w polu tekstowym.
Rzuć okiem na https://stackoverflow.com/questions/1846599/how-to-find-out-what-character-key-is-pressed

1 użytkowników online, w tym zalogowanych: 0, gości: 1