jqueryevent-handlingcharacterkeydown

How to decode character pressed from jQuery's keydown()'s event handler


I need to figure out which character was typed into a text field from within the handler that is called by jQuery's keydown function. key.which gives me only the keycode, but I need to figure out which ASCII character key represents. How do I do this?


Solution

  • For character input, it is suggested you use keypress(), which will report the actual ASCII code for the character pressed. It automatically takes care of letter case, and ignores non-character presses. In either case, you can use fromCharCode() to convert to a string representation. E.g.

    var c = String.fromCharCode(e.which) // or e.keyCode
    

    Just remember that for keydown() and keyup(), you'll have to keep track of the case using the e.shiftKey state.