vue弹窗中嵌入iframe页面,焦点在iframe页面中,需要监听esc按键关闭弹窗

当焦点在弹窗中,点击esc按钮能正常关闭弹窗,但是当焦点在iframe页面中时,esc按键就不生效了

试错:

  1. 直接使用 document.addEventListener('keydown', this.listenerHandle)或者document.querySelector('#iframeId').addEventListener('keydown', this.listenerHandle),监听不生效

  2. 添加contentWindow也不生效
    document.querySelector('#iframeId').contentWindow.addEventListener('keydown', this.listenerHandle)

    image

正确用法

  • 因为是iframe嵌入的页面,要获取嵌入页面需要加contentWindow才能访问里面的内容
  • 只有iframe加载完成之后,才能对其进行操作,所以需要监听iframe的加载

image

posted @   嘿!那个姑娘  阅读(1138)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-11-21 css样式文字和数字不在一行,数字会自动换行到下一行
点击右上角即可分享
微信分享提示