Ситуация:
Есть кнопка. Обработчик клика по кнопке отключает кнопку.
Есть обработчик события keydown на body.
До клика по кнопке обработчик keydown корреткно отрабатывает. После клика по кнопке - перестает.
И начинает отрабатывать только после клика на body.
Такое поведение наблюдается в браузере Firefox. В Chrome всё работает корректно (или просто так, как я этого ожидаю ))
Отлов событий focus/blur/focusin/focusout на body ясности не вносит.
Прошу помочь разобраться.
Браузеры актуальной версии, OS Windows 10.
<body>
<button>Button</button>
<script src="http://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="keydown.js"></script>
</body>
function clickHandler() {
$('button').prop('disabled', true);
}
function keydownHandler() {
console.log('keydown');
}
function focusHandler() {
console.log('focus');
}
function blurHandler() {
console.log('blur');
}
function focusinHandler() {
console.log('focusin');
}
function focusoutHandler() {
console.log('focusout');
}
window.onload = function () {
$('body').keydown(keydownHandler);
$('body').focus(focusHandler);
$('body').blur(blurHandler);
$('body').focusin(focusinHandler);
$('body').focusout(focusoutHandler);
$('button').click(clickHandler);
};