`

初始化flex时,组件自动获得焦点

    博客分类:
  • Flex
阅读更多

都知道在flex页面中设置焦点是:application.focusManager.setFocus(组件ID);

但设置上不管用,原因引用 http://lyh7609.iteye.comlyh7609兄的话:

 

很多人想在某个页面打开时,某个组件可以获取焦点并且可以输入,但是这样写无效是什么原因呢,原因在于我们是把flash嵌在一个html中,打开的是html页面,此时swf并没有聚焦,所以最好在html页面上再写个脚本让其聚焦既可,可以用swf的id来表示swf文件。

 

所以flex中初始化方法写上:application.focusManager.setFocus(组件ID);

 

在相应的index.template.html中body添加上js方法:

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

 

这样就可以实现自动获取初始焦点了!

分享到:
评论
5 楼 nuccch2010 2012-05-24  
wulinshishen 写道
<body onload="document.getElementById('要加载的swf ID').focus()">

你的swf ID指的是什么ID?

就是指你的flex应用程序最终被编译成的swf文件的名字啊,比如:orgTest.swf,那么写成orgTest就好了。
<body onload="document.getElementById('orgTest').focus();"></body>
4 楼 wulinshishen 2012-02-09  
<body onload="document.getElementById('要加载的swf ID').focus()">

你的swf ID指的是什么ID?
3 楼 oxppboy 2010-03-07  
使用.setFocus这种方式是不能让页面打开指定的文本框得到焦点,但不能直接输入。
2 楼 avanry 2009-10-22  
xxwinnie 写道
谢谢~ 不过用这种方法我的文本框是获得焦点了~ 但光标并未定位到文本框内,还得用鼠标再点一下才能写~ 闷~ 再寻找新方法!

你确认是这样写的吗?我的都是直接文本框里获得焦点,打开就能输入的
1 楼 xxwinnie 2009-10-21  
谢谢~ 不过用这种方法我的文本框是获得焦点了~ 但光标并未定位到文本框内,还得用鼠标再点一下才能写~ 闷~ 再寻找新方法!

相关推荐

Global site tag (gtag.js) - Google Analytics