I'm using keydown
event
Where I get the keycode and convert it to charcode.
But I got a problem where in keyboard is press 2
it gives 50
and charcode as 2
When I press 2
in numpad it gives keycode 98
, so when I convert charcode a
I'm using keydown
event
Where I get the keycode and convert it to charcode.
But I got a problem where in keyboard is press 2
it gives 50
and charcode as 2
When I press 2
in numpad it gives keycode 98
, so when I convert charcode a
3 Answers
Reset to default 13That is happening because you are using the keyCode
member, for example, a lower case 'a' and an upper case 'A' have the same keyCode, because is the same key, but a different charCode because the resulting character is different.
To get the charCode, you should use the keypress
event, and get the event.charCode
member if available, otherwise, you get the event.keyCode
which for IE, on the keypress event has the right information.
Give a look to the following example:
document.onkeypress = function (e) {
e = e || window.event;
var charCode = e.charCode || e.keyCode,
character = String.fromCharCode(charCode);
alert(character);
};
just look at these solution similar to your requirement
and for keycode reference use this
and keycode is depend on browser check it
you'll get character code in keypress
event
try this out: http://www.w3.org/2002/09/tests/keys.html
They use following code to convert to character:
var charCode = (evt.charCode) ? evt.charCode : evt.keyCode;
this also may be helpful as keycodes reference