Detlef G.: Bild über Cursor oder Bild in Textfeld

Beitrag lesen

Hallo lightfly

Wenn du eine Schrift mit fixer Breite verwendest und du die Schriftgrösse fixierst, kannst du herausfinden wo sich der Cursor befinden müsste: Zeichenbreite * Anzahl Zeichen. Somit könntest du bei jeder Eingabe ein absolut positioniertes Div (oder ein animiertes GIF) an die richtige Position verschieben.

Ein absolut positioniertes Element wäre dafür aufwändig und auch unnötig.

input {
  background: #000 url(http://home.arcor.de/siebenzwiebeln/cursor.gif) no-repeat;
}

Das reicht schon, um den Cursor anzuzeigen. Der passende Wert für background-position müsste dann anhand der Zeichenanzahl im Input mittels Javascript berechnet und gesetzt werden.

An dieser relativ einfachen Lösung stören mich ein paar Dinge.

Die genaue Position an der der Blockcursor angezeigt werden muss ist von der beim User istallierten Schrift abhängig (verschiedene Schriften haben eventuell auch verschiedene Buchstabenbreiten) und von der von ihm gewählten Schriftgröße (OK, dies ließe sich durch angaben in em ausgleichen)
Es wäre also wohl erforderlich, die vom User verwendet Schrift auszumessen, was die Sache dann doch wieder aufwändiger machen würde.

Der originale Textcursor wirkt dabei störend.

Wenn ich irgendwo auf die Seite klicke, bleibt der Blockcursor, ohne dass eine weitere Eingabe möglich ist. (Vielleicht sollte der Blockcursor nur eingeblendet werden, wenn input den Fokus hat, oder das Verlassen des input verhindert werden.)

Auf Wiederlesen
Detlef

--
- Wissen ist gut
- Können ist besser
- aber das Beste und Interessanteste ist der Weg dahin!