我一直在研究如何使用Javascript将焦点指向Flash电影。我已经看到它在Stack Overflow和其他网站上讨论过,除了在Internet Explorer中,你似乎无法可靠地做到这一点。我只是通过Javascript调用Flash对象上的.focus()方法。
它实际上可以在Internet Explorer中使用,但我不喜欢它在Firefox或其他浏览器上的行为。基本上,我有一个用户名/密码登录字段INSIDE我的Flash电影,我想在Flash电影加载时给它焦点,这样你就可以立即开始输入你的用户名,而不必先点击该字段。
Firefox的问题在于它不仅没有设置焦点,你还可以在Flash中的字段内看到一个闪烁的光标,这实际上表明该字段具有焦点。但是,您仍然需要单击。
这在Firefox上适得其反。如果这是行为,我宁愿甚至不尝试设置焦点。我当然可以查看正在使用的浏览器,并确定是否甚至调用.focus(),但此功能可能会在更高版本的Firefox中更改。我希望有一个更好的解决方案,那就是:
我不确定如何(或者如果)这样做,但我很想知道。我认为document.activeElement可能很有用,但我无法做到这一点。谢谢你的帮助!
答案 0 :(得分:2)
这可能会有所帮助。这是一种使用javascript的解决方法,以避免必须专注于实际的Flash对象......
https://github.com/englandrp/Cross-browser-Flash-tabbing-and-focus-solution
答案 1 :(得分:1)
尝试这样的事情:
private function setInitialFocus():void {
myInput.setFocus();
ExternalInterface.call("function() { var app = document.getElementById('myApp'); app.tabIndex = 0; app.focus(); }");
}
您还需要在输入控件上将tabIndex设置为0.
答案 2 :(得分:0)