私が書いていない JavaScript ルーチンを使用しています。onkeydown
不要なキーストロークを防ぐために、テキスト ボックスの属性から呼び出されます。
最初の引数は明らかに使用されていません。2 番目の引数は、許可される文字のリストです。
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;
}
これは英数字で機能するようです。ただし、 や などの文字は、これらの文字がパラメーターに含まれている場合でも、この関数が を返す原因.
となります。たとえば、キーが押されると、190 に設定され、「3/4」文字に設定されます。/
false
chars
.
key
keychar
これがどのように機能するのか、および/またはなぜ機能しないのか、誰にもわかりますか? 私は、JavaScript が何をしようとしているのかを理解するのに十分な知識がありません。