gpt4 book ai didi

javascript - 无法从 Youtube IFrame 更改焦点

转载 作者:行者123 更新时间:2023-11-29 21:50:31 27 4
gpt4 key购买 nike

我有一个 Youtube iFrame我使用键盘快捷键控制播放。但是,当我快进/快退时,焦点会更改为 iFrame,它会捕获后续的按键操作。因此,当焦点更改为 iFrame 时,我使用一个简单的函数进行轮询,然后将焦点切换回文档主体。这是实时代码:

CODEPEN

然而,它不起作用!即使正在调用 document.body.focus(),焦点也不会从 iFrame 改变。知道如何解决这个问题吗?

注意:我使用的浏览器是 Chrome 41.0.2272.118 on my Surface Pro 3 (Win 8.1)

最佳答案

好像是focus()仅适用于按钮(在 document.body 和常规 <p> 元素上测试,均不执行任何操作)。

Fixed CODEPEN (old, see update below!)

请注意,我添加了 document.getElementById("btn").focus()之前document.body.focus() , 但焦点切换到 btn而不是 document.body .我在 Surface Pro 3 (Win 8.1) 上使用的浏览器是 Chrome 41.0.2272.118

更新

事实证明,如果使用 display:none 隐藏按钮或 visibility:hidden , focus()方法不再有效!这让我怀疑这个问题实际上与元素是否可聚焦有关。显然是 tabindex-1使元素可聚焦,所以我通过设置 document.body.tabIndex = -1; 来测试它打电话前 document.body.focus() .瞧,它起作用了!

updated CODEPEN

关于javascript - 无法从 Youtube IFrame 更改焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29477263/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com