Rolf B: onkey down event handler

Beitrag lesen

Hallo AngularTool,

was für ein Gerät und was für ein Betriebssystem verwendest Du, dass da die Tasten prellen und das nicht vom Betriebssystem abgefangen wird? Vermutlich meinst Du eher Autorepeat.

in HTML - nicht JavaScript - gibt es <input type="number">

Wenn Dir das zu viel zulässt, kannst Du noch das pattern-Attribut an den Start bringen (wobei ich grad erstmal ausprobieren müsste, ob das bei type="number" greift)

Wenn Dir das auch nicht passt (weil das Pattern keine Eingabe unterdrückt), dann nimm JavaScript, aber registriere Dich nicht auf keyup, sondern auf keydown (nicht keypress, das soll aussterben). Zum einen wird das ausgelöst, bevor das input das Zeichen sieht, zum anderen wird es bei Autorepeat nicht nur ein einziges Mal, sondern einmal pro Repeat ausgelöst.

Im Standard gibt's auch noch das beforeinit-Event, aber das ist noch zu rot.

Im keydown-Event kannst Du das Event unterdrücken, indem Du auf dem Event-Objekt, dass der Eventhandler übergeben bekommt, die Methode preventDefault aufrufst. Denke auch daran, shiftKey, ctrlKey, metaKey und altKey auf false zu prüfen.

Weitere Lektüre

Rolf

--
sumpsi - posui - clusi