JavaScript Key Codes
Posted
by
Jonathan Wood
on Stack Overflow
See other posts from Stack Overflow
or by Jonathan Wood
Published on 2011-06-24T23:41:57Z
Indexed on
2011/06/25
0:22 UTC
Read the original article
Hit count: 158
I'm working with a JavaScript routine I didn't write. It is called from a text box's onkeydown
attribute to prevent unwanted keystrokes.
The first argument is apparently not used. The second argument is a list of characters that should be allowed.
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;
}
This seems to work for alpha-numeric characters. However, characters such as .
and /
cause this function to return false
, even when these characters are included in the chars
parameter. For example, if the .
key is pressed, key
is set to 190, and keychar
gets set to the "3/4" character.
Can anyone see how this was meant to work and/or why it doesn't? I don't know enough about JavaScript to see what it's trying to do.
© Stack Overflow or respective owner