[英]Prevent <dialog> from closing on keydown Esc in Chrome
Google Chrome closes <dialog>
elements when Esc is pressed.按下 Esc 时,Google Chrome 会关闭
<dialog>
元素。 Seems to be reacting to keydown.似乎对keydown做出反应。
Firefox does not. Firefox 没有。 This is the expected behavior, as closing on any key press is easy to implement.
这是预期的行为,因为关闭任何按键都很容易实现。
How to make Google Chrome leave dialogs open on Esc?如何让谷歌浏览器在 Esc 上打开对话框?
Please see fiddle https://jsfiddle.net/zeqo7kaf/1/请看小提琴https://jsfiddle.net/zeqo7kaf/1/
I have implemented window
's, document
's, body
's, dialog
's key events (up, down and pressed) to prevent propagation, however it seems to me that this is above dom events.我已经实现
window
的、 document
的、 body
的、 dialog
的键事件(向上、向下和按下)以防止传播,但在我看来,这是在 dom 事件之上。
(in order to see dialogs in Firefox, go to about:config
and set property dom.dialog_element.enabled
to true
). (为了查看 Firefox、go 中的对话框到
about:config
并将属性dom.dialog_element.enabled
设置为true
)。
You can try to use cancel
event: MDN您可以尝试使用
cancel
事件: MDN
dialog.addEventListener('cancel', (event) => {
event.preventDefault();
});
Modified JSFiddle: https://jsfiddle.net/7et3hf8p/修改后的 JSFiddle: https://jsfiddle.net/7et3hf8p/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.