Вопрос проверяет понимание работы событий и их распространения в DOM.
preventDefault() отменяет стандартное действие браузера (например, предотвращает переход по ссылке). stopPropagation() останавливает всплытие события, чтобы оно не передавалось родительским элементам. Оба метода используются для более гибкого управления событиями.
Когда происходит событие (например, клик), браузер выполняет стандартные действия (например, переход по ссылке при клике на <a>). preventDefault() отменяет это действие.
Пример:
document.querySelector('a').addEventListener('click', (e) => {
e.preventDefault(); // Страница не перезагрузится
});События в DOM всплывают (передаются от дочернего элемента к родительскому). stopPropagation() останавливает это всплытие:
button.addEventListener('click', (e) => {
e.stopPropagation(); // Родительский div не получит это событие
});Эти методы полезны, когда нужно переопределить поведение по умолчанию или контролировать, какие элементы получат событие.