您的位置:首页 > 其它

去掉Flex蓝色选中状态

2009-12-25 16:44 267 查看
其实一般的情况下是不会用到这种情况的,一般在程序里,比如选中要填写的项目,都喜欢有一个选中的状态,但是现在我们来个反其道而行,如果我不想要这个状态该怎么办呢?
参考了些资料,其实也简单,有好几种方法,但是发现了一个最有用的方法,首先我们在舞台上随意放几个TEXTINPUT做为测试,如果没有加取消选中状态的代码的话,只要随便点击任何一个TEXTINPUT,它的边框都是蓝色的。那么回到代码编辑,输入以下代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
initialize="focusCancel(event)">
<mx:Script>
<![CDATA[
import flash.events.FocusEvent;
import mx.managers.FocusManager;

private function focusCancel(event:Event):void {
this.addEventListener(FocusEvent.FOCUS_IN, isFocusCancle);
}
private function isFocusCancle(event:FocusEvent):void {
this.focusManager.hideFocus();
}
]]>
</mx:Script>
<mx:TextInput x="109" y="132"/>
<mx:TextInput x="109" y="192"/>
</mx:Application>

也就是说,在程序开始初始化的时候,先写一个用focusCanclel,让它监听FOCUS事件,然后再写一个监听事件的FUNCTION:isFocusCancle,直接用focusManager把选中状态给隐藏起来.当然,还能加一段监听事件,在什么情况下,选中状态又恢复.可以用focusManager.showFocus()这个命令.

<mx:textInput borderStyle="solid" focusThickness="0" />

也可以达到同样效果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: