关于roll_over 和 mouse_over的区别,这篇文章说明的很清楚,http://zengrong.net/post/1105.htm

全文如下:

在MouseEvent中,ROLL_OVER和MOUSE_OVER、ROLL_OUT和MOUSE_OUT是两对比较相似的事件,它们有什么区别呢?AS3语言参考中是这样解释的:

rollOver 事件的目的是简化带有子级的显示对象容器的移开行为的编码。当鼠标进入某个显示对象区域或者从其子级以外的对象进入任何其子级区域时,该显示对象将分派 rollOver 事件。这种行为与 mouseOver 事件的行为不同,每次鼠标进入显示对象容器的任何子对象区域时都会分派此事件,即使鼠标已在显示对象容器的另一个子对象上也是如此。

解释得有些拗口,实际上简单说就是:ROLL_OVER事件无视子对象,只监听根对象的事件。

看了下面演示,就更清楚了。

源码:

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
 
[SWF(width=350,height=400)]
public class SimpleSample9 extends Sprite
{
private var _spriteChild:Sprite;
private var _spriteParent:Sprite;
private var _tf:TextField;
private var _line:int=0;
 
public function SimpleSample9()
{
_spriteChild = new Sprite();
_spriteChild.name = 'child';
_spriteChild.graphics.beginFill(0x81ADF0);
_spriteChild.graphics.drawCircle(0, 0, 40);
_spriteChild.graphics.endFill();
 
_spriteParent = new Sprite();
_spriteParent.name = 'parent';
_spriteParent.graphics.beginFill(0x0000ff);
_spriteParent.graphics.drawCircle(0,0, 90);
_spriteParent.graphics.endFill();
 
_spriteParent.addChild(_spriteChild);
addChild(_spriteParent);
_spriteParent.x = stage.stageWidth/2;
_spriteParent.y = _spriteParent.height/2;
 
_tf = new TextField();
_tf.border = true;
_tf.width = stage.stageWidth;
_tf.height = stage.stageHeight-_spriteParent.y-_spriteParent.height/2;
_tf.y = stage.stageHeight - _tf.height;
addChild(_tf);
 
_spriteParent.addEventListener(MouseEvent.MOUSE_OVER, mouseHandler);
_spriteParent.addEventListener(MouseEvent.MOUSE_OUT, mouseHandler);
_spriteParent.addEventListener(MouseEvent.ROLL_OVER, mouseHandler);
_spriteParent.addEventListener(MouseEvent.ROLL_OUT, mouseHandler);
}
 
private function mouseHandler(evt:MouseEvent):void
{
_line++;
var __ctName:String = evt.currentTarget.name;
var __tName:String = evt.target.name;
var __rName:String = evt.relatedObject == null ? 'null' : evt.relatedObject.name;
_tf.text = _line.toString()+','+(evt.type+',currentTarget:'+__ctName+',target:'+__tName+',relatedObject:'+__rName+'\n') + _tf.text;
}
}
}

我自己的一点理解:

当鼠标在 大圆parent的范围内 移到 小圆child中 时,

大圆parent抛出mouse_out事件,小圆childe抛出mouse_over事件,而小圆抛出的事件通过冒泡又被大圆截获到!

大圆抛出的mouse_out事件的relatedObject的值是child

小圆抛出的mouse_over时间的relatedObject的值是parent

而如果只监听了roll_over事件时,当鼠标在 在 大圆parent的范围内 移到 小圆child中 时,是没有事件抛出的。

roll_over比mouse_over先抛出

mouse_out又比roll_out先抛出

mouseevent tips的更多相关文章

  1. Flex中如何通过showAllDataTips属性使鼠标移动到图表时显示所有的数据Tips的例子

    原文 http://blog.minidx.com/2008/11/10/1616.html 接下来的例子演示了Flex中如何通过showAllDataTips属性,使鼠标移动到图表时显示所有的数据T ...

  2. java.awt.event.MouseEvent鼠标事件的定义和使用 以及 Java Swing-JTextArea的使用

    最近发现一个CSDN大佬写的Java-Swing全部组件的介绍:Java Swing 图形界面开发(目录) JTextArea 文本区域.JTextArea 用来编辑多行的文本.JTextArea 除 ...

  3. Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

    忘记Root密码肿么办 Mac上安装MySQL就不多说了,去mysql的官网上下载最新的mysql包以及workbench,先安装哪个影响都不大.如果你是第一次安装,在mysql安装完成之后,会弹出来 ...

  4. 【Tips】史上最全H1B问题合辑——保持H1B身份终级篇

    [Tips]史上最全H1B问题合辑——保持H1B身份终级篇 2015-04-10留学小助手留学小助手 留学小助手 微信号 liuxue_xiaozhushou 功能介绍 提供最真实全面的留学干货,帮您 ...

  5. layer.js中layer.tips

    <script src="~/Content/js/layer/layer.js"></script> layer.tips('名称不能为空', '#pro ...

  6. HTML 最简单的tips 怎么支持指定DIV显示提示信息

    <body> <style type="text/css"> a.link{position:relative;} a.link div.tips{ bor ...

  7. CSS:CSS使用Tips

    Css是前端开发中效果展现的主要部分之一,良好的Css书写习惯可以为实际的项目开发提高效率,也可以为实现良好的团队合作提供保证. 一般新手在使用Css的时候经常会犯一些错误,出现一些不经意的漏洞,如果 ...

  8. 【读书笔记】100个Switf必备tips

    声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 1.Selector 在Swi ...

  9. 【转】40个良好用户界面Tips

    一个良好的用户界面应具有高转换率,并且易于使用.但要用户体验良好并不容易做到,下面我们整理了40个良好用户界面Tips,希望能对你有帮助! 1 尽量使用单列而不是多列布局 单列布局能够让对全局有更好的 ...

随机推荐

  1. C++ 数组参数

    在C++中数组不是按值传递的,传递的是第1个元素,即第0个元素的指针. 1.数组长度不是参数类型的一部分,函数不知道传递给它的数组的实际长度,因此当编译器对实参类型进行参数类型检查时,并不检查数组的长 ...

  2. lintcode:Wiggle Sort

    Wiggle Sort Given an unsorted array nums, reorder it in-place such that nums[0] <= nums[1] >= ...

  3. android学习--radiogroup学习

    这个阶段在学习android的相关基本UI现将相关练习的代码粘贴在此便于后期学习之用(radio控件) 效果图:   main_layout.xml <?xml version="1. ...

  4. 纯CSS实现的右侧底部简洁悬浮效果

    我们见过很多页面右侧浮动效果,最早有QQ联系面板,对联广告等,大多数都是基于Javascript实现的动态效果,今天我给大家分享一个只需要CSS结合DIV实现的右侧浮动效果. HTML 我们希望悬浮效 ...

  5. Zabbix监控解决方案

    思通运维监控主要用来监控IT 基础设施组件的可用性和性能.监控项目是不受限制的,并且可以对IT 基础设施健康状态进行复杂分析.通过确定IT 系统问题的“来源”,使用户快速响应故障来降低宕机成本. 网络 ...

  6. VC高手们的博客

    http://www.cnblogs.com/killmyday/tag/Debug/ (关于符号调试等内容比较多)

  7. android 广播的使用

    在Activity中,注册广播的一个Demo. 总共分3步 第一步:定义一个BroadcastReceiver广播接收类: private BroadcastReceiver mBroadcastRe ...

  8. Python ->> 第一个Python程序

    #coding:utf-8 #print 'input your name, please' #name = raw_input('请输入你的名字:'.decode('utf-8').encode(' ...

  9. PowerDesigner15使用时的十五个问题

    15个问题列表: No.1:是不是一定要从CDM开始设计,然后在进行PDM的设计? NO.2:工具栏palette不见了,如何把它找出来? NO.3: 如何建立与数据库的关联? NO.4: 域和数据项 ...

  10. python 中的集合(set) 详解

    在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种. 创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方 ...