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 @ 2023-11-21 16:31  嘿!那个姑娘  阅读(927)  评论(0编辑  收藏  举报