Kann man per JavaScript Text an der aktuellen Cursorposition in ein Textfeld einfügen? Kann man die Cursorposition abfragen und ändern? Kann man die Selektion abfragen und ändern? Geht das Browser-unabhängig?
Die Antwort ist: JA, zumindest auf modernen Browsern und mit dem IE auf Win32 Systemen.
Ich habe die Klasse xTextControl geschrieben, welche Text- und Eingabefelder kapselt und eine einheitliche Schnittstelle mit allen notwendigen Funktionen bereit stellt.
Eigenschaften
- xTextControl funktioniert auf allen modernen Browsern
- xTextControl funktioniert für Textarea (mit IE leider nicht für einzeilige Textfelder)
- Gratis (GPL), siehe Download
- IE und Gecko haben intern völlig unterschiedliche Implementationen
- Alles basiert auf sog. Selections. Eine Selection kann auch eine simple Cursorposition sein (Start und Ende der Selection sind identisch)
- Die Funktionen arbeiten mit normierten Strings: Zeilenende-Zeichen ('\n') werden auf allen Browsern als EIN Zeichen codiert!