gpt4 book ai didi

Javascript - 阻止模态键盘事件冒泡/传播

转载 作者:行者123 更新时间:2023-12-05 06:19:29 27 4
gpt4 key购买 nike

我有一个页面,它有一个 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 键将其关闭,但仍会冒泡到主页处理程序并导航回来。我怎样才能阻止它?

最佳答案

我终于找到了解决方案,将 stopPropagation 替换为 stopImmediatePropagation,如果模式打开,窗口按键处理程序将不再触发。

关于Javascript - 阻止模态键盘事件冒泡/传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60840684/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com