Ich arbeite mit grundlegenden HTML <input type="text"/>
Textfeld mit einem numerischen Wert.Verhindern Standardverhalten in der Texteingabe, während Pfeil nach oben
Ich füge das JavaScript-Ereignis keyup
hinzu, um zu sehen, wann der Benutzer die Pfeiltaste nach oben drückt (e.which == 38
) - dann inkrementiere ich den numerischen Wert.
Der Code funktioniert gut, aber es gibt eine Sache, die mich nervt. Sowohl Safari/Mac als auch Firefox/Mac bewegen den Cursor ganz am Anfang, wenn ich die Pfeiltaste nach oben drücke. Dies ist ein Standardverhalten für jedes <input type="text"/>
Textfeld, soweit ich weiß und es ist sinnvoll.
Dies erzeugt jedoch keinen sehr ästhetischen Effekt des Vor- und Zurückspringens des Cursors (nachdem der Wert geändert wurde).
Der Sprung am Anfang geschieht auf keydown
, aber selbst mit diesem Wissen kann ich nicht verhindern, dass es auftritt. Ich habe versucht, die folgenden:
input.addEventListener('keydown', function(e) {
e.preventDefault();
}, false);
e.preventDefault()
in keyup
Veranstaltung Putting auch nicht hilft.
Gibt es eine Möglichkeit, den Cursor daran zu hindern, sich zu bewegen?
Habe es kaputt gemacht! Vielen Dank, es ist perfekt. :) – riddle
Up vote für "kludge"! Arbeitete für mich, danke für die Antwort. – NotJay