Я пытаюсь создать приложение на основе холста, которое реагирует на ввод с клавиатуры и мыши. У меня есть этот код:
canvas = document.getElementById('canvas');
canvas.addEventListener('mousedown', function(event) {
alert('mousedown');
}, false);
canvas.addEventListener('keydown', function(event) {
alert('keydown');
}, false);
Предупреждение «mousedown» появляется всякий раз, когда я щелкаю мышью, но предупреждение «keydown» никогда не появляется. Тот же код отлично работает в JS Bin: http://jsbin.com/uteha3/66/
Почему не работает на моей странице? Холст не распознает ввод с клавиатуры?
tabindex="<some number>"
и вуаля: ваш холст (но на самом деле любой HTML-элемент) теперь отлично работает с фокусом. Этот ответ не следует помечать как правильный, вместо этого принимается ответ Хоббервикки. 01.08.2016