keycode on keydown event

。_饼干妹妹 提交于 2019-12-17 16:48:13

问题


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


回答1:


That 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);
};



回答2:


just look at these solution similar to your requirement

and for keycode reference use this

and keycode is depend on browser check it




回答3:


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



来源:https://stackoverflow.com/questions/1648130/keycode-on-keydown-event

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!