Ниже код принимает символ и печатает символ с помощью keycode (String.fromCharCode). Проблема возникает, когда вы вводите специальный символ, например .
или ?
.String.fromCharCode проблема для специальных символов в javascript
function logChar(e){
var keyCode = e.which || e.keyCode;
var char = String.fromCharCode(keyCode);
console.log(char)
}
<input type="text" onkeydown="logChar(event)" />
Может кто-нибудь объяснить, почему это возвращение другое значение и как получить такое же значение?
Заранее благодарен!
триггеры onkeydown один раз, когда вы нажимаете shift (со значением 16) и отдельно для другого ключа, значение которого не зависит от того, нажимаете ли вы сдвиг или нет. – James
@James Ваша точка верна, но даже если вы не нажимаете 'shift', просто нажмите' .' (точка), но вы не получите правильный символ. Я думаю, что ответ Балаха объясняет, почему. – Rajesh