我正在使用我没有编写的 JavaScript 例程。它从文本框的onkeydown
属性中调用,以防止不必要的击键。
显然没有使用第一个参数。第二个参数是应该允许的字符列表。
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;
}
这似乎适用于字母数字字符。但是,诸如.
和之类的字符/
会导致此函数返回false
,即使这些字符包含在chars
参数中也是如此。例如,如果.
按键被按下,key
则设置为 190,并keychar
设置为“3/4”字符。
谁能看到这是如何工作的和/或为什么不工作?我对 JavaScript 的了解还不够,无法了解它想要做什么。