У меня есть страница, на которой есть прослушиватель событий keydown
, чтобы прослушать клавишу Escape и вернуться назад. У меня также есть простой модальный класс, который также прослушивает клавишу Escape, чтобы закрыть его. Слушатель главной страницы проверяет, открыт ли модальный режим, и, если это так, возвращается, ничего не делая.
window.addEventListener("keydown", function (ev) {
if (modal_is_open) { return; }
ev = ev || window.event;
if (ev.key == "Escape") { history.go(-1); }
});
modal_div.addEventListener("keydown",function (ev) {
ev = ev || window.event;
ev.stopPropagation();
ev.preventDefault();
ev.cancelBubble = true;
if (ev.key == "Escape") { close_the_modal(); }
return false;
});
Моя проблема в том, что, если модальный режим открыт, клавиша Escape закрывает его, но все еще всплывает до обработчик главной страницы и навигация назад. Как я могу это остановить?