PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Какие события обрабатывают 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 вешают глобальные обработчики и делегирование.

Другие вопросы раздела