Flex的Web程序获取到输入焦点
每当打开网页版的Flex程序,我们需要第一个输入框获取焦点,可以直接进行输入。
但是,我们在Flex程序中设置了文本框获取焦点,却并不能直接进行输入,这不是我们期望的,这是因为在HTML中SWF文件没有获取到焦点。
对于这个问题有两个解决方案:
方案1. 采用Flex和HTML直接通信的应用程序编程接口,ExternalInterface类进行设置
首先在flex应用程序的createComplete方法中让swf文件获取到焦点,
ExternalInterface.call("new Function('document.getElementById(\"SWF name\").focus()')");
然后就可以设置flex中的具体组件获取焦点。
方案2.在FLEX的项目中的HTML模板页中进行设置
修改Flex的html-template文件夹中的index.template.html文件
增加HTML的onload的事件处理
修改body标签前
<body>
修改后
<body onload="document.getElementById('${swf}').focus();">