Почему код:charCodeAt генерирует неправильный код для запятой
','.charCodeAt(0);
44
генерирует даже если charcode для запятой 188
(как по this table и при получении event.keyCode
в keyup
обработчика).
Почему код:charCodeAt генерирует неправильный код для запятой
','.charCodeAt(0);
44
генерирует даже если charcode для запятой 188
(как по this table и при получении event.keyCode
в keyup
обработчика).
Персонажи и ключи - это разные вещи.
charCodeAt
возвращает числовое значение Юникода символа.
keyCode
от KeyboardEvent
представляет собой ключ на клавиатуре.
Поскольку между символами и ключами нет 1: 1, они не обязательно используют одни и те же значения.
И если вы не указали * *, чтобы сопоставить коды ключей с символами, вы можете сделать это через массив. Вам придется писать эту реализацию самостоятельно, хотя она не встроена. – Jan
'charCodeAt()' возвращает значение ascii символа. '44' - это код ascii запятой. См. Http://www.asciitable.com/ для получения дополнительной информации. – Tro
Персонажи и ключи - это две разные вещи. Вот почему они не обязательно имеют один и тот же код. –
Я понимаю путаницу, особенно когда у SO есть такие вопросы, как http://stackoverflow.com/questions/1430989/how-to-convert-char-to-keycode, где принятый ответ смущает два термина и другие ответы, содержащие устаревшую информацию. В идеале их следует очистить. – Jan