Показать сообщение отдельно
  #4 (permalink)  
Старый 12.08.2018, 19:30
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

<script>
document.onkeydown = function() {
  alert("keydown");
}
    
document.onkeyup = function() {
  alert("keyup");
}
</script>


Вы нажимаете кнопку X происходит событие keydown открывается alert("keydown");

Вы продолжаете удерживать ту же клавишу, но события keydown больше не возникают, поскольку ещё открыт alert, который всё блокирует.

Вы отпускаете клавишу, но событие keyup не возникают, поскольку ещё открыт alert, который всё блокирует. (но если вы всё-таки ухитрились бы быстро закрыть alert, то событие keyup возникло бы? Например, если нажимать последовательно Esc⎋ или Enter⏎, то закрывается alert и событие ловится)

Пока открыт alert, который всё блокирует, никакое событие не возникнет, сколько бы вы ни нажимали на клавиатуру.

"теряется" в том плане, что вообще не попадает в событийную модель JavaScript

Последний раз редактировалось Malleys, 12.08.2018 в 19:41.
Ответить с цитированием