Antje Hofmann: Hilfe! Backspace löst beim Opera kein onKeyUp-Event aus!

Beitrag lesen

Hallo Markus

Und zwar habe ich ein Textfeld, das bei jedem Tastendruck ein Event auslösen soll:
<input type="text" onKeyUp="alert('hallo');">
Gute Nachricht:
Das klappt auch eigentlich soweit überall, aber...

ich habe auch eine gute Nachricht: Unter Opera 5 klappt das noch

Schlechte Nachricht:
Wenn der Benutzer im Opera das letzte Zeichen löscht (Backspace) gibt es keinen onKeyUp-Event (onKeyDown, onKeyPress übrigens auch nicht).

und die schlechte Opera 6 kann das nicht mehr

Hatte von euch schon mal einer das Problem und kennt eine Lösung? Der Versuch, das ganze mit onChange zu umgehen scheiterte, weil dieser Event erst ausgelöst wird, wenn das Feld verlassen wird.

Hier gibt es nicht viele Möglichkeiten. Einzige Alternative die mir einfällt:

Du speicherst dir die Werte auf eine Variable und überwachst keyup und keydown. Bei onkeydown vergleichst du, ob sich der auf der Variablen gespeicherte Wert in der Zwischzeit verändert hat. Bei keyup setzt du den Wert in der Variablen neu. Zum Schluß noch mal das Gleiche mit onchange.

Viele Grüße

Antje