JS: Ako najst spravnu poziciu v textarei?

BoneFlute

  • *****
  • 1 987
    • Zobrazit profil
Re:JS: Ako najst spravnu poziciu v textarei?
« Odpověď #15 kdy: 28. 08. 2024, 01:52:35 »
Předpokládejme že textarea je v objektu el.

Pomocí metod el.selectionStart a el.selectionEnd získáš pozici kurzoru v indexech znaků.

Pomocí el.scrollTop a el.scrollLeft získáš v pixelech nascrollování obsahu v rámci textarei.

Pomocí window.getComputedStyle(el).fontSize získáš velikost písma obsahu. (Možná ještě padding, a další věci?)

Následně si můžeš spočítat, že pozice 300 je na 25 řádku (počet \n). Krát velikost písma. Mínus el.scrollLeft.

Asi by to šlo. Jak moc je to patlárna a zda tam není nějaký podraz, co mi unikl, netuším.


Re:JS: Ako najst spravnu poziciu v textarei?
« Odpověď #16 kdy: 28. 08. 2024, 07:42:43 »
Zalamování se neděje jen na \n
Může být použit font s proporcionální šířkou znaků

BoneFlute

  • *****
  • 1 987
    • Zobrazit profil
Re:JS: Ako najst spravnu poziciu v textarei?
« Odpověď #17 kdy: 28. 08. 2024, 18:06:08 »
Zalamování se neděje jen na \n
Může být použit font s proporcionální šířkou znaků

Je to tak. Proto se tu navrhoval způsob s tím neviditelným divem.

Vzhledem k tomu, že tazatel neměl zájem k hotovému řešení, tak jsem nastínil zábavu.