Get key value of pressed key

I do not know how to get the value of the pressed key. I currently have

$('#info_price').bind('keydown',function(evt){ alert(evt.keyCode); 

but it returns โ€œ49โ€ when I press 1 instead of returning โ€œ1โ€.

Edit: I know that the Ascii code of the key is "1".

The ultimate goal is to allow people to write numbers only for input. Therefore, I want to detect not a number and not display them.

+4
source share
8 answers

As he said in the comment, ASCII code. To get him as a character, you can do:

 alert(String.fromCharCode(evt.keyCode)); 
+12
source

For those who do it now, for example, I

 $('input').on('keydown', function(e) { console.log(e.key); });โ€‹ 
+5
source

In javascript, each key is associated with ASCII code as follows

  1-49 2-50 

like this http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

So, you need to match these values โ€‹โ€‹according to the keypress event.

+3
source

Here is the complete code to work (not mine, but I used it):

http://www.selfcontained.us/2009/09/16/getting-keycode-values-in-javascript/

 keycode = { getKeyCode : function(e) { var keycode = null; if(window.event) { keycode = window.event.keyCode; }else if(e) { keycode = e.which; } return keycode; }, getKeyCodeValue : function(keyCode, shiftKey) { shiftKey = shiftKey || false; var value = null; if(shiftKey === true) { value = this.modifiedByShift[keyCode]; }else { value = this.keyCodeMap[keyCode]; } return value; }, getValueByEvent : function(e) { return this.getKeyCodeValue(this.getKeyCode(e), e.shiftKey); }, keyCodeMap : { 8:"backspace", 9:"tab", 13:"return", 16:"shift", 17:"ctrl", 18:"alt", 19:"pausebreak", 20:"capslock", 27:"escape", 32:" ", 33:"pageup", 34:"pagedown", 35:"end", 36:"home", 37:"left", 38:"up", 39:"right", 40:"down", 43:"+", 44:"printscreen", 45:"insert", 46:"delete", 48:"0", 49:"1", 50:"2", 51:"3", 52:"4", 53:"5", 54:"6", 55:"7", 56:"8", 57:"9", 59:";", 61:"=", 65:"a", 66:"b", 67:"c", 68:"d", 69:"e", 70:"f", 71:"g", 72:"h", 73:"i", 74:"j", 75:"k", 76:"l", 77:"m", 78:"n", 79:"o", 80:"p", 81:"q", 82:"r", 83:"s", 84:"t", 85:"u", 86:"v", 87:"w", 88:"x", 89:"y", 90:"z", 96:"0", 97:"1", 98:"2", 99:"3", 100:"4", 101:"5", 102:"6", 103:"7", 104:"8", 105:"9", 106: "*", 107:"+", 109:"-", 110:".", 111: "/", 112:"f1", 113:"f2", 114:"f3", 115:"f4", 116:"f5", 117:"f6", 118:"f7", 119:"f8", 120:"f9", 121:"f10", 122:"f11", 123:"f12", 144:"numlock", 145:"scrolllock", 186:";", 187:"=", 188:",", 189:"-", 190:".", 191:"/", 192:"`", 219:"[", 220:"\\", 221:"]", 222:"'" }, modifiedByShift : { 192:"~", 48:")", 49:"!", 50:"@", 51:"#", 52:"$", 53:"%", 54:"^", 55:"&", 56:"*", 57:"(", 109:"_", 61:"+", 219:"{", 221:"}", 220:"|", 59:":", 222:"\"", 188:"<", 189:">", 191:"?", 96:"insert", 97:"end", 98:"down", 99:"pagedown", 100:"left", 102:"right", 103:"home", 104:"up", 105:"pageup" } }; 
+2
source

You can find all key values, such as:

Here is a jsFiddle example.

 $('textarea').keydown(function(e) { var order = e.which; console.log(order); });โ€‹ 

A source

+1
source

key code does not directly display the character value. Instead, you need to look at the keypress event, which will provide you with the charCode property. Then you can use String.fromCharCode to turn this into a string.

0
source

To get the ASCII :

 String.fromCharCode(); 

to turn ASCII into a string.

0
source

Chrome and Opera today have a read-only property in the event object.

On MDN it is written that at present this function is the "Working Version".

https://developer.mozilla.org/en-US/docs/Web/API/InputEvent/data

0
source

Source: https://habr.com/ru/post/1437373/


All Articles