Какие события обрабатывают Document?
DOM и браузер
Document обрабатывает события: DOMContentLoaded, load, клики и другие события (через всплытие/делегирование), visibilitychange, keydown/keyup, readystatechange.
События document
Жизненный цикл загрузки
- DOMContentLoaded — DOM построен (без ожидания картинок/стилей):
document.addEventListener('DOMContentLoaded', () => { /* DOM готов */ });- readystatechange — изменение
document.readyState.
Делегированные события (через всплытие)
Document ловит всплывшие события всех элементов — основа глобального делегирования:
document.addEventListener('click', (e) => {
// ловит клики по любому элементу (всплытие)
});
document.addEventListener('keydown', handler); // глобальные клавишиВидимость и фокус
- visibilitychange — вкладка стала активной/фоновой:
document.addEventListener('visibilitychange', () => {
if (document.hidden) pauseVideo();
});Клавиатура
keydown,keyup,keypress— глобальные горячие клавиши.
Мышь/касания
click,mousemove,mousedownи т. п. (всплывшие).
window vs document
- window —
load,resize,scroll,beforeunload,hashchange. - document —
DOMContentLoaded,visibilitychange, делегированные события.
Практика
- Глобальные шорткаты, делегирование, отслеживание видимости — на
document.
Коротко для собеседования
Document обрабатывает: DOMContentLoaded (DOM готов), readystatechange, делегированные всплывшие события (click, keydown — глобальные шорткаты/делегирование), visibilitychange (вкладка активна/фон), клавиатуру и мышь. window отвечает за load/resize/scroll/beforeunload. На document вешают глобальные обработчики и делегирование.