Flex应用程序我当前正在处理需要在应用程序启动时关注TextInput控件,但正如我在实现它时注意到的,对TextInput.focus()的调用将聚焦输入而不是嵌入式SWF本身因此,用户无法在应用程序启动后立即键入输入,并且必须在此之前单击SWF上的某个位置。我通过使用一些JS自动将焦点设置到我的SWF(测试并使用Chrome v27和IE10)来部分解决了这个问题。太糟糕了,它不适用于Firefox(v22)。这是为什么?这是我在index.html模板中的代码:
function focusFlash()
{
var f = document.getElementById('${application}');
if(f)
{
f.tabIndex = 0;
f.focus();
}
}
我将此函数用作swfobject.embedSWF()回调函数。
答案 0 :(得分:0)
来自Adobe论坛,这可能值得一试吗?...
将以下行添加到您的swf。
import flash.external.ExternalInterface; ExternalInterface.call(" s = function(){document.getElementById(' mymovie')。focus();}");
其中' mymovie'是html脚本中嵌入的swf对象的ID。