mouseOver 和rollOver区别

mouseOver的bubbles是true,rollOver的bubbles是false。

两者的区别,其实要在侦听MOUSE_OUT事件时,变得很明显。

假如一个Canvas中间包含一个Button,比较侦听canvas的MOUSE_OUT和ROLL_OUT事件:
1.canvas.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
这种情况下,鼠标移到button后,鼠标移开button经过canvas时,会触发canvas的MOUSE_OUT和MOUSE_OVER事件。因为MOUSE_OVER/MOUSE_OUT事件是有冒泡阶段的,当button触发事件之后,事件会冒泡传递给父容器(即canvas),所以会触发canvas上的事件。

2.canvas.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
这种情况下,鼠标只有移开整个canvas才会触发canvas的ROLL_OUT事件。而即使鼠标移到button上再移开,也不会执行触发canvas的ROLL_OUT事件。因为ROLL_OUT事件不会冒泡往父容器传递。


 

[java]  view plain copy
  1. package  
  2.  
  3.     import flash.display.Sprite;  
  4.     import flash.events.Event;  
  5.     import flash.events.MouseEvent;  
  6.       
  7.     public class DDDDD extends Sprite  
  8.      
  9.         public function DDDDD()  
  10.          
  11.             var bt:Sprite=new Sprite();  
  12.             bt.graphics.beginFill(0x12d211,1 
  13.             bt.graphics.drawRect(0,0,50,50);  
  14.             bt.graphics.endFill();  
  15.               
  16.             var sp:Sprite=new Sprite();  
  17.             sp.graphics.beginFill(0x123211,1 
  18.             sp.graphics.drawRect(0,0,100,100);  
  19.             sp.graphics.endFill();  
  20.             sp.addChild(bt);  
  21.             this.addChild(sp);  
  22.               
  23.             sp.addEventListener(MouseEvent.MOUSE_OUT,ddd2);  
  24.          
  25.    
  26.         private function ddd2(evt:Event):void 
  27.             trace("sp" 
  28.          
  29.      
  30. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值