我的Flex应用程序非常以键盘为导向.它使用100%的浏览器窗口,我希望用户能够立即开始使用它 - 只要它加载.
但是,当鼠标点击其中的某个位置时,应用程序似乎只是首次"激活"(即激活事件触发),这对我的键盘式应用程序来说非常不方便.
我可以在加载期间/之后的某个时刻强制激活我的应用程序吗?
我希望每次页面加载时我都不必显示一些愚蠢的"点击内部激活"叠加层...
附录
在某些浏览器中([咳嗽] Chrome [/ cough]),只要用户离开浏览器(甚至触摸地址栏),焦点就会丢失,并且在切换回来时不会重新获得.因此,解决方案不仅要考虑页面加载时的第一个焦点,还要考虑"重新聚焦".
AFAIK问题仅出现在Firefox等某些浏览器中.您可以使用一点JavaScript来改变这种行为.编辑index.template.html并在<head></head>标记中添加以下代码段:
<script type="text/javascript">
    function setFocusToSwf() {
        var swf = document.getElementById('${application}');
         if (swf) swf.focus();
    }
</script>
Flex Builder将${application}在编译应用程序时替换占位符.
更改<body>标记,以便在浏览器加载文档时调用新函数:
<body onload="setFocusToSwf()">