Обнаружение ключевого кода в AZERTY vs. QWERTY
Как я могу в JavaScript обнаружить ввод знака вопроса на клавиатуре AZERTY? На клавиатуре QWERTY знак вопроса дает код 191, а на AZERTY - 188 (запятая на QWERTY). Или я должен различать обе клавиатуры в JavaScript, но как?
2 ответа
Самое быстрое решение, которое я могу придумать, - это сравнить ключ с фактическим знаком вопроса, так что подобное было бы хорошим решением.
document.addEventListener('keydown', function(event) {
if (event.key && event.key === '?') {
// your code goes here
}
}, true);
Если вы хотите обнаружить набираемый символ, используйте KeyboardEvent.key
не KeyboardEvent.code
- key
свойство будет содержать либо введенный символ (например, "?"
) или строка типа "Shift"
или же "ArrowUp"
для специальных ключей. Расположение клавиши на клавиатуре не повлияет на результат.
$("#f").on("keydown", function(ev) {
$(this).val(ev.key);
return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="f" autocomplete="off">