Heim  >  Artikel  >  Web-Frontend  >  Javascript-Methode zur Steuerung der Eingabezeit format_javascript-Fähigkeiten

Javascript-Methode zur Steuerung der Eingabezeit format_javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 16:17:301649Durchsuche

Das Beispiel in diesem Artikel beschreibt die Methode, mit der Javascript das Eingabezeitformat steuert. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:

Ich habe zuvor eine Javascript-Kontrollzeitformateingabe durchgeführt, hauptsächlich mithilfe von Keydown- und Keyup-Ereignissen, aber ich hatte das Gefühl, dass das Schreiben sehr kompliziert war und es Fehler gab.

Heute habe ich den Unterschied zwischen Tastendruckereignis, Tastendruck und Tastendruck kennengelernt. Es ist ungefähr so ​​(ich weiß bisher nur so viel):

keydown: Wird ausgelöst, wenn die Taste gedrückt wird. Der Schlüsselcode kann über das Ereignis abgerufen werden, und der Wert vor der Eingabe in das Textfeld kann abgerufen werden

keyup: Wird ausgelöst, wenn die Taste geöffnet (losgelassen) wird. Der Schlüsselcode kann über das Ereignis abgerufen werden, und der Wert kann nach der Eingabe in das Textfeld abgerufen werden

Tastendruck:

Dieses Ereignis ist im Grunde dasselbe in Chrome und IE, aber Firefox ist ein wenig anders 1. In Chrome und IE: Solange die gedrückte Taste im Textfeld angezeigt werden kann, wird sie ausgelöst (z. B. durch Eingabe von Buchstaben, Zahlen, Symbolen usw.). Der Schlüsselcode kann über ein Ereignis abgerufen werden. und event.key ist undefiniert; Zeichen, die nicht angezeigt werden können (z. B. Pfeiltasten, Home, Backspace usw.)

2. In Firefox: Buchstaben, Zahlen, Symbole, Richtungen, Rücktaste und andere Tasten können über event.key abgerufen werden. Wenn die gedrückte Taste Zeichen ausgeben kann, ist event.keyCode 0. Wenn Zeichen nicht ausgegeben werden können, ist event.keyCode der entsprechende ASCII-Code

Zurück zum Thema, schauen wir uns den Code direkt an (das oben erwähnte Ereignis entspricht e im Code unten):

Code kopieren Der Code lautet wie folgt:var isFF = /firefox/i.test(navigator. userAgent);
$("input").on({
Tastenkombination: Funktion (e) {
​ ​ !/^[d:] $/.test(e.target.value) && (e.target.value = "");
},
Tastendruck: Funktion (e) {
If (isFF && e.keyCode !== 0) {
/// Das Drücken einer beliebigen Taste in Firefox löst das Tastendruckereignis aus, während in IE/Chrome nur das Drücken der Taste, die Zeichen ausgeben kann,
auslöst                              /// Für Firefox bedeutet e.keyCode!==0, dass eine der Rückschritt-, Richtungs-, Pos1-Tasten usw. gedrückt wird
         } sonst {
If (e.target.value.length > 7)
                       return false;
If (/d{2}$/.test(e.target.value)) {
                     e.target.value = ':';
            }
            var char = String.fromCharCode(e.keyCode === 0 ? e.which : e.keyCode);
If (!/^d/.test(char))
                       return false;
}
}
});

Verwenden Sie isFF && e.keyCode !== 0, um zwischen den Schlüsseln zu unterscheiden, die in Firefox Zeichen ausgeben können, und den Schlüsseln, die keine Zeichen ausgeben können, da e.keyCode in Firefox möglicherweise nicht in der Lage ist, den Wert abzurufen stattdessen verwendet.

keyup wird verwendet, um das Problem zu lösen, dass bei Verwendung der Eingabemethode Chinesisch oder Buchstaben eingegeben werden können.

Rufen Sie das dem ASCII-Code entsprechende Zeichen über String.fromCharCode() ab.

Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn