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()
только один раз, в тот момент, когда вы решаете, что закончили накапливать персонажей.