鼠标事件:MouseOut与RollOut,MouseOver与RollOver

 http://hi.baidu.com/duancx/blog/item/b6cce83622a92645241f14e0.html :

 

这两类事件看起来是一样的,都是在鼠标经过组件时触发这个事件,但是如果要是真的一样的话,又不可能搞两个这样的,因此它们还是有些区别的,区别的地方就在于如果一个组件包含了另外一个组件,例如一个Canvas中包含一个按钮,那么ROLL_OVER和ROLL_OUT事件只会在移入或移出Canvas时触发,而在Canvas里的Button上时,ROLL_OVER和ROLL_OUT是不会触发的,而是触发MOUSE_OVER和MOUSE_OUT。

下面是测试的代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
creationComplete="init()">
<mx:Script>
   <![CDATA[
   
    private function init():void{
     cav.addEventListener(MouseEvent.ROLL_OVER,rollover);
     cav.addEventListener(MouseEvent.ROLL_OUT,rollout);
     cav.addEventListener(MouseEvent.MOUSE_OVER,mouseover);
     cav.addEventListener(MouseEvent.MOUSE_OUT,mouseout);
    }
   
    private function rollover(event:MouseEvent):void{
     trace("roll over");
    }

    private function rollout(event:MouseEvent):void{
     trace("roll out");
    }
    private function mouseover(event:MouseEvent):void{
     trace("mouse over");
    }
    private function mouseout(event:MouseEvent):void{
     trace("mouse out");
    }   
   
   
   ]]>
</mx:Script>

<mx:Canvas id="cav" width="100%" height="100%"
   borderStyle="solid" backgroundColor="0xFFFFFF">
   <mx:Button id="b" label="here" x="64" y="47" width="107" height="54"/>
</mx:Canvas>

</mx:Application>

测试的结果如下:

移入Canvas:roll over
移入Canvas:mouse over
移入Canvas中的按钮:mouse out
移入Canvas中的按钮:mouse over
再次移入Canvas:mouse out
再次移入Canvas:mouse over
移出Canvas:mouse out
移出Canvas:roll out


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值