Dieser Artikel beschreibt die Methode des JavaScript, das das Eingangszeitformat steuert. Teilen Sie es für Ihre Referenz. Die spezifische Analyse ist wie folgt:
Früher habe ich eine JavaScript -Eingabe erstellt, um das Zeitformat zu steuern, hauptsächlich mit den Schlüsseldown- und KeyUp -Ereignissen, aber ich war der Meinung, dass das Schreiben sehr kompliziert war und es Fehler gab.
Heute habe ich den Unterschied zwischen Schlüsselpressereignissen und Keydown und KeyUp erfahren. Es ist ungefähr wie folgt (im Moment so viel wissen):
Tastaturdown: Ausgelöst, wenn die Taste gedrückt wird. Durch das Ereignis können Sie den Schlüsselcode erhalten und den Wert vor der Eingabe in das Textfeld erhalten.
KeyUp: Ausgelöst, wenn der Schlüssel auftaucht (Release). Der Schlüsselcode kann durch das Ereignis erhalten werden und der Wert nach der Eingabe aus dem Textfeld kann erhalten werden.
TastePress: Dieses Ereignis ist im Grunde genommen in Chrome und IE das gleiche, aber Firefox ist etwas anders.
1. In Chrome und IE: Solange die gedrückte Taste im Textfeld Zeichen angezeigt werden kann, wird er ausgelöst (wie Eingangsbuchstaben, Zahlen, Symbole usw.), der Schlüsselcode kann durch das Ereignis erhalten werden, und das Ereignis.Key ist nicht definiert. Wenn die Zeichen nicht angezeigt werden können, wird sie nicht ausgelöst (wie Pfeiltasten, Zuhause, Rückraum usw.).
2. In Firefox: Schlüsseln wie Buchstaben, Zahlen, Symbole, Anweisungen, Hinterräume usw. können alle auslösen. Der Schlüsselname kann über Event.Key erhalten werden. Wenn die gedrückte Taste Zeichen ausgeben kann, Ereignis.KeyCode ist 0. Wenn das Zeichen nicht ausgegeben werden kann, ist Ereignis.KeyCode der entsprechende ASCII -Code.
Wenn Sie zum Thema zurückkehren, sehen Sie sich zuerst den Code an (das oben erwähnte Ereignis entspricht dem E im folgenden Code):
Die Codekopie lautet wie folgt: var isff = /firefox/i.test(navigator.useragent);
$ ("Input"). On ({{
Schlüssel: Funktion (e) {
!/^[/d:]+$/. test (e.Target.Value) && (e.target.Value = "");
},
TastePress: Funktion (e) {
if (isff && e.keycode! == 0) {
/// Drücken einer Taste in Firefox löst das TastePress -Ereignis aus, während in IE/Chrome nur die Taste ausgelöst wird, die Zeichen ausgeben kann
/// für Firefox, E.Keycode!
} anders {
if (e.target.value.length> 7)
false zurückgeben;
if (//des2}$/.test(e.target.value)) {
E.Target.Value += ':';
}
var char = string.fromCharCode (e.keyCode === 0? E.When: E.KeyCode);
if (!/^/d/.Test (char))
false zurückgeben;
}
}
});
ISFF && E.Keycode! == 0 wird verwendet, um zwischen Schlüssel zu unterscheiden, die Zeichen in Firefox und Schlüssel ausgeben können, die keine Zeichen ausgeben. Da E.KeyCode in Firefox den Wert nicht unbedingt erhält, wird stattdessen E. der verwendet.
KeyUp wird verwendet, um das Problem zu lösen, bei der Verwendung der Eingabemethode Chinese oder Buchstaben einzugeben.
Verwenden Sie String.FromCharCode (), um die dem ASCII -Code entsprechenden Zeichen zu erhalten.
Ich hoffe, dieser Artikel wird für JavaScript -Programme aller hilfreich sein.