Почему это случилось? - странные события keydown keydown на моей машине
Вот немного JavaScript:
window.addEventListener("keydown", function(event) {
console.log("keydown: " + event.keyCode);
});
window.addEventListener("keyup", function(event) {
console.log("keyup: " + event.keyCode);
});
Вот результат нажатия и отпускания клавиши только один раз:
Keyup: 17 Keydown: 68 Keyup: 17 Keyup: 68
Это специфично для моей машины. Почему это происходит?
Примечание: я обнаружил эту странность во флэш-памяти, когда KeyboardEvents запускались таким же образом.
1 ответ
В соответствии с: http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
- код 17 = ctrl
- код 68 = d
Ваш код обнаруживает, что клавиша CTRL отпускается при нажатии клавиши d. Это не относится к вашей машине, это относится к вашим периферийным устройствам или вредоносным программам, работающим на вашей машине, или к чрезмерному выполнению кода.
Об обработчике событий:
У метода addEventHandler есть третий параметр, известный как useCapture, который обрабатывает порядок выполнения во время фазы захвата или всплытия. Фаза захвата запускается, как только происходит событие. Фаза барботирования запускается при выходе из вызванного события.