Как указано в комментариях: принятый ответ не является правильным , потому что он дает код символа, а не код ключа, который может быть другим, например, 'a'.charCodeAt(0) == 97
при правильном коде ключа 65
.
для преобразования только стандартных символов из [a-zA-Z] или чисел [0-9] можно использовать приведенный ниже код.
Однако этот не работает должным образом для каких-либо специальных клавиш , таких как .
, Ö
, #
или чего бы то ни было, и я не нашел для них хорошего решения. В качестве обходного пути можно использовать сайт вроде http://keycode.info/ (который просто фиксирует события onkeydown
и читает свойство event.keyCode
).
function convertToKeyCode(target) {
var keyCode = target.value.toUpperCase().charCodeAt(0);
document.getElementById("keyCodeSpan").innerHTML = keyCode;
}
<input type="text" oninput="convertToKeyCode(this)" size="1" maxlength="1">
<span>Keycode: </span><span id="keyCodeSpan"></span>