Почему нажатие клавиши не обрабатывает клавишу удаления и клавишу возврата
Я не спрашиваю об этом, потому что мне нужен обходной путь. У меня есть один, который отлично работает, но я хочу знать, ПОЧЕМУ это не так. Это ошибка в JavaScript (или JQuery, потому что я использовал JQuery .keypress
обработчик) или есть конкретная причина, почему это так?
Заранее спасибо.
2 ответа
keypress
Событие предназначено для обработки символов, набранных пользователем, а не для обнаружения действий клавиатуры, а клавиши удаления и возврата не генерируют символы. Некоторые браузеры несколько размывают эту линию, но общий принцип заключается в том, что keyup
а также keydown
есть события, чтобы обнаружить нажатие любой клавиши и сообщить вам, какая клавиша keypress
для обнаружения набираемого фактического символа.
Краткий ответ: событие onkeypress не запускается для всех типов ключей во всех браузерах. Проверьте руководство для вашего браузера.
Зачем?
Вероятно, не исчерпывающий ответ, но рассмотрим Shift, когда он падает и когда он поднимается относительно других клавиш, имеет значение. А разное аппаратное обеспечение клавиатуры имеет разные характеристики переключения клавиш, о которых вы, возможно, захотите узнать подробнее.