现在的位置: 首页 > 综合 > 正文

去掉Flex蓝色选中状态

2013年11月10日 ⁄ 综合 ⁄ 共 1021字 ⁄ 字号 评论关闭

 其实一般的情况下是不会用到这种情况的,一般在程序里,比如选中要填写的项目,都喜欢有一个选中的状态,但是现在我们来个反其道而行,如果我不想要这个状态该怎么办呢?
      参考了些资料,其实也简单,有好几种方法,但是发现了一个最有用的方法,首先我们在舞台上随意放几个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" />

也可以达到同样效果。

【上篇】
【下篇】

抱歉!评论已关闭.