vue弹窗中嵌入iframe页面,焦点在iframe页面中,需要监听esc按键关闭弹窗
当焦点在弹窗中,点击esc按钮能正常关闭弹窗,但是当焦点在iframe页面中时,esc按键就不生效了
试错:
-
直接使用
document.addEventListener('keydown', this.listenerHandle)
或者document.querySelector('#iframeId').addEventListener('keydown', this.listenerHandle)
,监听不生效 -
添加contentWindow也不生效
document.querySelector('#iframeId').contentWindow.addEventListener('keydown', this.listenerHandle)
正确用法
- 因为是iframe嵌入的页面,要获取嵌入页面需要加
contentWindow
才能访问里面的内容 - 只有iframe加载完成之后,才能对其进行操作,所以需要监听iframe的加载