Я прочитал о захвате событий и пересылке событий и узнал, что браузеры поддерживают оба. Давайте предположим, что после отрисовки страницы, например * 1001 stackoverflow.com *
Я прикрепляю слушатель события щелчка к телу.
var el = document.getElementsByTagName('body')[0];
el.addEventListener('click', function(e) {
alert('Heyyyyy');
e.stopPropagation()
}, true);
Обратите внимание, что я предоставил значение true, чтобы принудительно захватывать, а не всплывать. Почему, несмотря на то, что звонки прекращаются, я могу перемещаться по таким ссылкам, как теги, пользователи, вакансии и т. Д.
Однако, если я изменю его на:
var el = document.getElementsByTagName('body')[0];
el.addEventListener('click', function(e) {
alert('Heyyyyy');
e.stopPropagation();
e.preventDefault();
}, true);
Код работает нормально.