首页 > 解决方案 > 防止

在 Chrome 中关闭 keydown Esc

问题描述

按下 Esc 时, Google Chrome 会关闭<dialog>元素。似乎对keydown做出反应。

火狐没有。这是预期的行为,因为关闭任何按键都很容易实现。

如何让谷歌浏览器在 Esc 上打开对话框?

请看小提琴https://jsfiddle.net/zeqo7kaf/1/

我已经实现了window's, document's, body's, dialog' 键事件(向上、向下和按下)以防止传播,但在我看来,这在 dom 事件之上。

(为了在 Firefox 中查看对话框,请转到about:config并将属性设置dom.dialog_element.enabledtrue)。

标签: javascripthtmlgoogle-chromedialog

解决方案


您可以尝试使用cancel事件:MDN

dialog.addEventListener('cancel', (event) => {
    event.preventDefault();
});

修改后的 JSFiddle:https ://jsfiddle.net/7et3hf8p/


推荐阅读