Событие нажатия клавиши альт срабатывает только один раз, но при клике правой кнопкой мыши в рабочей области снова срабатывает один раз...
document.addEventListener('keydown',witch_key_down);
document.addEventListener('keyup',witch_key_up);
function witch_key_down(e){
if (event.keyCode=='18') window.alt=true;
document.getElementById('output').innerHTML=window.alt;
}
function witch_key_up(e){
window.alt=false;
document.getElementById('output').innerHTML=window.alt;
}
<div id="output">false</div>
Думаю проблема тут не в самом Javascript, а в самом нажатии на Alt. Потому что когда человек в браузере (как и в большинстве программ) нажимает просто Alt, то он попадает на меню браузера (и если нажать например стрелку ↓, то оно появится):
То есть, в итоге, все работает, но в сочетании с Alt, скорее всего, лучше работать одновременно с другими клавишами.
P.S. служебные клавиши можно проверять не по номеру keyCode
, а вот так:
event.ctrlKey
, event.altKey
, event.shiftKey
, event.metaKey
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Почему здесь при модификации объекта из функции, не меняется исходный объект? Спасибо!!