·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3的FocusEvent焦点事件的代码实例

时间:2013-09-18 16:14cuplayer.com
一共有4个焦点事件:FocusIn、FocusOut、KEY_FOCUS_CHANGE、MOUSE_FOCUS_CHANGE,当焦点改变时focusIn和focusOut 事件会同时激活,它们属于不可取消的事件

一共有4个焦点事件:FocusIn、FocusOut、KEY_FOCUS_CHANGE、MOUSE_FOCUS_CHANGE,当焦点改变时focusIn和focusOut 事件会同时激活,它们属于不可取消的事件,keyFocusChange和mouseFocusChange是可取消的事件,可以调用FocusEvent.preventDefault( )方法取消默认事件,FocusEvent有一个relatedObject属性,对于focusIn而言,relatedObject属性是刚才拥有焦点的对象的;对于其它三个事件,relatedObject属性是现在接收到焦点的对象

  1. package { 
  2.  import flash.display.Sprite; 
  3.  import flash.events.FocusEvent; 
  4.  import flash.text.TextField; 
  5.  import flash.text.TextFieldAutoSize; 
  6.  import flash.text.TextFieldType; 
  7.  public class Sample0414 extends Sprite 
  8.  { 
  9.   private var lblInfo:TextField; 
  10.    
  11.   public function Sample0414() 
  12.   { 
  13.    var textBox:TextField = new TextField(); 
  14.    textBox.name = "文本框A"
  15.    textBox.type = TextFieldType.INPUT; 
  16.    textBox.background = true
  17.    textBox.width = 200
  18.    textBox.height = 20
  19.    //textBox.addEventListener(FocusEvent.FOCUS_IN,onFocusIn); 
  20.    //textBox.addEventListener(FocusEvent.FOCUS_OUT,onFocusOut); 
  21.    textBox.addEventListener(FocusEvent.KEY_FOCUS_CHANGE,onKeyFocusChange); 
  22.    this.addChild(textBox); 
  23.     
  24.    textBox = new TextField(); 
  25.    textBox.name = "文本框B"
  26.    textBox.type = TextFieldType.INPUT; 
  27.    textBox.background = true
  28.    textBox.width = 200
  29.    textBox.height = 20
  30.    textBox.y = 80
  31.    //textBox.addEventListener(FocusEvent.FOCUS_IN,onFocusIn); 
  32.    //textBox.addEventListener(FocusEvent.FOCUS_OUT,onFocusOut); 
  33. textBox.addEventListener(FocusEvent.KEY_FOCUS_CHANGE,onKeyFocusChange); 
  34.    this.addChild(textBox); 
  35.     
  36.    lblInfo = new TextField(); 
  37.    lblInfo.y = 200
  38.    lblInfo.autoSize = TextFieldAutoSize.CENTER; 
  39.    this.addChild(lblInfo); 
  40.   } 
  41.    
  42.   private function onFocusIn(event:FocusEvent):void 
  43.   { 
  44.    var txt:TextField = event.target  as  TextField; 
  45.    txttxt.text = txt.name; 
  46.    if(event.relatedObject!=null) 
  47.    { 
  48.     lblInfo.text = "CuPlayer.com提示FocusIn的relatedObject是:" + (event.relatedObject  as  TextField).name; 
  49.    } 
  50.   } 
  51.    
  52.   private function onFocusOut(event:FocusEvent):void 
  53.   { 
  54.    if(event.relatedObject!=null) 
  55.    { 
  56.     lblInfo.text = "FocusOut的relatedObject是:" + (event.relatedObject  as  TextField).name; 
  57.    } 
  58.   } 
  59.    
  60.   private function onKeyFocusChange(event:FocusEvent):void 
  61.   { 
  62.    var txt:TextField = event.target  as  TextField; 
  63.    if(txt.text == "")  
  64.    { 
  65.              event.preventDefault();//当field没有任何文字前,不允许使用Tab键把焦点移除 
  66.       }  
  67.    if(event.relatedObject!=null) 
  68.    { 
  69.     var strRelatedObj:String = (event.relatedObject  as  TextField).name; 
  70.     lblInfo.text = "CuPlayer.com提示KeyFocusChange的relatedObject是:" + strRelatedObj; 
  71.    } 
  72.   } 
  73.  } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器