Я использую onkeydown
событие и читать отжатый ключ от event
объекта:ключевой код Backslash признан немецкий умляут
function test(e) {
e = e || window.e;
var keyCode = e.which || e.keyCode;
alert(keyCode +' -> '+ String.fromCharCode(keyCode));
}
Над функции работает странно, если ключ пользователь нажимает кнопку обратной косой черты (\
) - это всегда возвращают Ü
вместо \
, Значение e.keyCode
равно 220
, что означает, что все в порядке, поэтому, возможно, fromCharCode()
- проблема. Я думаю, что проблема в том, что обратная косая черта - это особый символ. Но как я могу опустить его и отобразить правильный символ для кода 220
?
Я сделал живой пример на JSFiddle.
charcode для обратной косой черты '92',' не 220'. Я получаю uml; aut также сообщал о моем, но я не уверен, почему ... ('' \\ '. CharCodeAt (0) === 92'). Я очень сомневаюсь, что проблема связана с 'fromCharCode', поскольку это является настолько старым, что кто-то, должно быть, заметил в какой-то момент. Так что, возможно, браузер дает неправильный символ. – somethinghere
Проверьте таблицу Unicode, 220 - U (с двумя точками): http://www.utf8-chartable.de/unicode-utf8-table.pl?unicodeinhtml=dec – Justinas
@ Justinas, да, но я тоже пробовал это и когда нажав только '\' на клавиатуре, он также сообщает charcode 220 на моем. Это неожиданно. – somethinghere