Пытался найти наиболее эффективный способ переопределения события нажатия клавиши по умолчанию в VanillaJS. В частности, в моем случае я пытаюсь переопределить событие по умолчанию клавиши «backspace» и назначить ему функцию клавиши со стрелкой влево.
Я понял, как использовать event.preventDefault()
, чтобы остановить событие по умолчанию, с помощью этого кода:
document.querySelector(/* Target selector */).onkeydown = checkKey;
function checkKey(event) {
let which = event.which;
let keyCode = event.keyCode;
let charCode = event.charCode;
if(which == 8 || keyCode == 8 || charCode == 8) {
event.preventDefault();
}
}
Но я не могу назначить новое событие. Я работал с чем-то в этом направлении, но у меня такое чувство, что я далеко:
document.querySelector('#blank-page').onkeydown = checkKey;
function checkKey(event) {
let which = event.which;
let keyCode = event.keyCode;
let charCode = event.charCode;
if(which == 8 || keyCode == 8 || charCode == 8) {
which == 37;
keyCode == 37;
charCode == 37;
}
}
Может ли createEvent()
войти в игру здесь?