Javascript String.fromCharCode Чувствительность к регистру?

Я просто слушаю событие keyup элемента ввода и собираю результаты в строку, например, так

word=word+String.fromCharCode(key.keyCode);

Проблема в том, что слово написано заглавными буквами, а я хочу, чтобы оно было чувствительным к регистру. Например, если я наберу abcef, мое накопленное слово станет "ABCEF".

Обратите внимание - мне нужно чистое решение javascript (без библиотек..) Есть мысли?

2 ответа

Решение

События как keyup а также keydown вернет 65 для обоих a а также A (а также true за event.shiftKey если этот ключ удерживается).

keypress Событие возвращает разные коды клавиш для заглавных и строчных букв, поэтому, чтобы получить этот рабочий регистр, вы должны использовать keypress событие и fromCharCode() вернет правильное письмо, с учетом регистра.

Вы всегда можете позвонить .toLowerCase()

word = word + String.fromCharCode(key.keyCode).toLowerCase();

Может быть, есть смысл позвонить .toLowerCase() только один раз, в тот момент, когда вы решаете, что закончили накапливать персонажей.

Другие вопросы по тегам