flex页面初始化后,无法聚焦文本框

转自 :博客园

Flex页面初始化creationComplete事件中,加入焦点设置语句 : focusManager.setFocus("TextInput组件ID");

页面运行后并看不到效果,将焦点设置语句放到按钮事件中,TextInput倒是焦点设置上了。

 

主要原因是我们把Flash嵌到HTML页面中,打开HTML页面时并没有聚焦,所以最好在HTML页面上加个JavaScript脚本使其聚焦即可。

 

步骤:

1、页面初始化creationComplete事件中,加入焦点设置语句 : focusManager.setFocus("TextInput组件ID");

2、bin-debug目录中找到此页面,如 Login.html (Login对于的swf ID 就是Login), 在body中添加js方法

<body onload="document.getElementById('要加载的swf ID').focus()">

 

通过这两个步骤即可实现初始化焦点

 

 

同样的,我们也可以使用ExternalInterface.call调用,讲JS写在Flex的AS脚本里,代码如下:

   protected function init():void{
    focusManager.setFocus(txtLoginname); //txtLoginname是TextInput组件ID
    ExternalInterface.call("document.getElementById('Login').focus()");//Login是要加载的swf ID
   }

你可能感兴趣的:(Flex)