【发布时间】:2010-09-04 17:18:28
【问题描述】:
我一直在研究如何使用 Javascript 将焦点指向 Flash 电影。我已经在 Stack Overflow 和其他网站上看到过它的讨论,除了 Internet Explorer 之外,您似乎无法可靠地做到这一点。我只是通过 Javascript 在 Flash 对象上调用 .focus() 方法。
它实际上在 Internet Explorer 中工作,但我不喜欢它在 Firefox 或其他浏览器上的行为。基本上,我的 Flash 电影内部有一个用户名/密码登录字段,我想在 Flash 电影加载时为其提供焦点,这样您就可以立即开始输入您的用户名,而无需先单击该字段。
Firefox 的问题在于,它不仅没有设置焦点,而且在 Flash 中,你可以在字段中看到一个闪烁的光标,这确实表明该字段具有焦点。但是,您仍然需要点击。
这在 Firefox 上会适得其反。如果这是行为,我什至不想尝试设置焦点。我当然可以检查正在使用的浏览器并确定是否调用 .focus(),但此功能可能会在更高版本的 Firefox 中更改。我很想有一个更好的解决方案,那就是:
- 在 Flash 影片动态添加到页面之前记住当前焦点(我就是这样做的,我无法将影片显示为初始页面加载的一部分)。
- 尝试将焦点设置到 Flash 影片。
- 检查焦点是否设置正确,因此我可以预期 Flash 影片实际上无需额外单击即可接收击键。
- 如果未设置焦点,则恢复为加载 Flash 影片之前的焦点。
我不确定如何(或是否)可以做到这一点,但我很想知道。我认为 document.activeElement 可能有用,但我无法做到这一点。感谢您的帮助!
【问题讨论】:
标签: javascript flash focus