2

我目前正在开发的 Flex 应用程序需要在应用程序启动时聚焦 TextInput 控件,但正如我在实现此功能时注意到的那样,对 TextInput.focus() 的调用将聚焦输入而不是嵌入的 SWF 本身,因此用户可以' t 在应用程序启动后立即输入输入,并且必须在此之前单击 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() 回调。

4

1 回答 1

0

这来自 Adob​​e 论坛,可能值得一试?...

将以下行添加到您的 swf。

导入 flash.external.ExternalInterface;ExternalInterface.call("s = function() { document.getElementById('mymovie').focus(); }");

其中“mymovie”是 html 脚本中嵌入的 swf 对象的 ID。

于 2013-06-27T09:43:38.257 回答