JavaScript Key-Codes

Arbeite ich mit einer JavaScript-routine, die ich nicht geschrieben habe. Es wird aufgerufen, aus einem Textfeld onkeydown - Attribut, um zu verhindern, dass unerwünschte Tastenanschläge.

Das erste argument ist offensichtlich nicht verwendet. Das zweite argument ist eine Liste von Zeichen, die erlaubt sein sollte.

function RestrictChars(evt, chars) {
    var key;
    var keychar;

    if (window.event)
        key = window.event.keyCode;
    else if (e)
        key = e.which;
    else
        return true;

    keychar = String.fromCharCode(key);

    if ((key == null) || (key == 0) || (key == 8) ||
        (key == 9) || (key == 13) || (key == 27))
        //Control key
        return true;
    else if (((chars).indexOf(keychar) > -1))
        return true;
    else
        return false;
}

Dies scheint zu funktionieren für alpha-numerische Zeichen. Allerdings werden die Zeichen wie . und / Ursache dieser Funktion zurück false - auch wenn diese Zeichen enthalten sind die chars parameter. Zum Beispiel, wenn die . Taste gedrückt wird, wird key gesetzt ist auf 190, und keychar festgelegt wird, um die "3/4" - Zeichen.

Kann jeder sehen, wie dies gemeint war, um zu arbeiten und/oder warum nicht? Ich weiß nicht genug über JavaScript zu sehen, was er zu tun versucht.

Vielleicht finden Sie diese Schlüssel-code-Testprogramm hilfreich, um herauszufinden, welche Ereignisse zurück, was die Tasten-codes für die verschiedenen Tasten: west-wind.com/WestwindWebToolkit/samples/Ajax/html5andCss3/...

InformationsquelleAutor Jonathan Wood | 2011-06-24

Schreibe einen Kommentar