imherer

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

  •  
  •   imherer · Nov 4, 2024 · 1969 views
    This topic created in 736 days ago, the information mentioned may be changed or developed.

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

    全屏使用的是screenfull这个库

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

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

    5 replies  •  2025-01-21 16:43:44 +08:00
    shadowyue
    shadowyue
    Nov 4, 2024
    1
    不如直接把 elementPlus 按 ESC 关闭 dialog 这个功能开关关了?
    zack5337
    zack5337
    Nov 4, 2024
    2
    监听事件了 event.key === 'Escape'
    imherer
    imherer
    OP
    Nov 4, 2024
    3
    @shadowyue 不能关,需求上要这个功能的嘛。我也想关
    imherer
    imherer
    OP
    Nov 4, 2024
    4
    @zack5337 emmm ,我试试
    jaminq
    jaminq
    Jan 21, 2025 via iPhone
    5
    没有测试,但是默认让 dialog 聚焦,然后相应 esc ,停止传递,试试;此外全局的话,试试在捕获阶段绑定,处理时停止传递
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1134 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 996ms · UTC 18:03 · PVG 02:03 · LAX 10:03 · JFK 13:03
    ♥ Do have faith in what you're doing.