如何实现使用 Vue+ElementPlus 在 Chrome 全屏时按下 ESC 是关闭弹窗而不是退出全屏

2024 年 11 月 4 日
 imherer

最近有个项目使用 Vue3+ElementPlus ,其中有很多 dialog 弹窗,elementPlus 默认可以使用 ESC 关掉这个弹窗,但是在全屏下按 ESC 是退出全屏而不是关闭弹窗。

全屏使用的是screenfull这个库

如果使用 Chrome 自带的 F11 全屏它是 按住 ESC 才退出,而screenfull是 按下 ESC 就退出

各位前端大佬有什么解决办法吗?

1969 次点击
所在节点    前端开发
5 条回复
shadowyue
2024 年 11 月 4 日
不如直接把 elementPlus 按 ESC 关闭 dialog 这个功能开关关了?
zack5337
2024 年 11 月 4 日
监听事件了 event.key === 'Escape'
imherer
2024 年 11 月 4 日
@shadowyue 不能关,需求上要这个功能的嘛。我也想关
imherer
2024 年 11 月 4 日
@zack5337 emmm ,我试试
jaminq
2025 年 1 月 21 日
没有测试,但是默认让 dialog 聚焦,然后相应 esc ,停止传递,试试;此外全局的话,试试在捕获阶段绑定,处理时停止传递

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1086385

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX