mouseevent tips

关于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先抛出

 

 

 

转载于:https://www.cnblogs.com/tianlanliao/p/3430257.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/421412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mt3 linux外网搭建,MT3 换皮梦幻 Linux端架设文字教程

1.安装宝塔yum install -y wget && wget -O install.shhttp://download.bt.cn/install/install.sh&& shinstall.sh获取宝塔地址 账号 密码开放端口10030 10011 10020 10003宝塔安装网站环境n1.14 mysql 5.6 php5.4关闭防火墙,我是7系统&…

一个有关数组的题

//在这里插入代码片import java.util.*; 1. (A rookie learning Java)写的一个有关数组的题 定义一个长度为10的整型数组, 循环输入10个整数然后判断这个数组中有几个偶数, 再定义一个正好能存放这几个偶数的数组, 将上一个数组中的所有偶数…

onCreateOptionsMenu

onCreateOptionsMenu----只在Activity创建时调用一次!之后不会再被调用!onPrepareOptionsMenu----每次display menu之前,都會调用该方法,  只要按一次menu按鍵,就會调用一次。  所以你會發現每次只要按一次menu按鍵…

linux识别UDF文件系统吗,Linux Kernel UDF文件系统本地缓冲区溢出漏洞

发布日期:2012-07-04更新日期:2012-07-05受影响系统:Linux kernel 3.3.x描述:--------------------------------------------------------------------------------BUGTRAQ ID: 54279Linux Kernel是Linux操作系统的内核。Linux K…

程序编译时书写Makefile注意事项一例

在进行程序编译时,可能需要指定一些库的库的路径、头文件的路径,分别使用的参数选项是-L和-I,需要注意的是:需要确保-L和-I后边的内容不为空,否则会出现意想不到的错误,而这种错误比较难以发现,…

把一个数组分为多个数组

/*int[]arr{1,2,5,213,75,42,64,48,21,44,22}; 分为3个数组 第一个数组满足全是偶数 第二个数组满足全是3的倍数 第三个数组满足其他*/ public class E{public static void main(String[]args){int[]arr{1,2,5,213,75,42,64,48,21,44,22};int b0,c0,d0;//遍历数组,得到每个数组…

window的war发布Linux失败,为什么war包在Windows的tomcat正常运行,在linux服务器报errorpage错误?...

最近项目完成后打包成war发布到服务器遇到访问应用404问题,用的是tomcat8.5,错误信息如下:o.s.b.w.servlet.support.ErrorPageFilter : Cannot forward to error page for request [/login] as the response has already been committed. As…

linux 命令行模式下,浏览网页方法

Ubuntu自带最新版的Gnome桌面,拥有大量的服务和桌面应用程序,让您仅通过一张安装光盘就可以体验到无比舒适的操作环境。下文介绍的在ubuntu下使用终端命令行上网的方法。 第一步,需要安装一个名为w3m的软件工具,打开终端&#xff…

数组的增删

public class A {public static void main(String[] args) {int[] arr { 1, 2, 5, 23, 64, 9, 87, 99 };// 要求删除23int index -1;int num 23;for (int i 0; i < arr.length; i) {if (num arr[i]) {index i;}}for (int i index 1; i < arr.length; i) {arr[i -…

linux就业技术指导,学linux前景怎么样

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼青海华夏职业学校09年招生简章221.207.32.* 1楼青海华夏职业技术中等专科学校概况&#xff1a;青海华夏职业技术中等专科学校是由青海省教育厅备案并批准成立的一所中等层次的职业技术专修学校。学校坐落在青海省西宁市美丽的南川河…

获取Android版本信息和电话信息

Android的版本信息可以通过android.os.Build获得&#xff0c;电话信息可以通过TelephonyManager获得&#xff0c;代码如下&#xff1a; private void get_infor(){sdk android.os.Build.VERSION.SDK;;release android.os.Build.VERSION.RELEASE;user android.os.Build.USER;…

简单的二维数组

/*找人,找到输出在第几楼第几号房间&#xff08;考虑没有找到的情况&#xff09;*/ /*{{"凤姐","蔡除坤","张洁"},{"姚鸣","芙蓉姐姐"},{"马尔克死","打仲马","肝塞特","高死你"}}…

求e的c语言程序,(C语言)计算e的x次方

计算e的x次方题目&#xff1a;编写程序&#xff0c;计算ex1x(x2)/(2!)(x3)/(3!)(x4)/(4!)…(x^n)/n!说明&#xff1a;e^x表示e的x次方&#xff0c;2!表示2的阶乘输入输出格式要求&#xff1a;输入格式&#xff1a;x n回车e^x, x, n均用double类型存储。要求输出小数点后6位。只…

第一次接触万物接对象

public class Girl{//一个类文件String name;//开始赋予girl的静态属性String character;String ilike;String range;public void introduction(){//方法&#xff0c;无参无返&#xff0c;动态属性System.out.print("Name&#xff1a;"name"\n"""…

用c语言程序编写一份试卷,C语言程序设计试题

C语言程序设计试题俗话说&#xff1a;“一份耕耘&#xff0c;一分收获。”耕耘就得付出一定的代价&#xff0c;没有那含辛如苦的“耕耘”&#xff0c;哪能领会到甜人心田的收获?以下是小编为大家搜索整理的C语言程序设计试题&#xff0c;希望能给大家带来帮助!更多精彩内容请及…

[课程相关]homework-06

一、c11 lambda /* * File: main.cpp* Author: liangjie** Created on 2013年11月23日, 下午12:02*/#include <cstdlib> #include <iostream>using namespace std;/** */ int main(int argc, char** argv) {string aa "Hello World!";int b 0, c 0;…

面向对象封装之无参无返,无参有返

public class E{public static void main(String[]args){EQ enew EQ();e.name"Mr.Deng";e.age29;e.weight50.5;e.hobby"Designing something that he like";e.jieShao();String be.sentPresence();//对象接受返回值System.out.println("Thats "b…

IOS6 新特性之UIRefreshControl

“不会模仿的公司不是好公司不会剽窃的公司不是优秀公司 不会调戏代码的不是骨灰级码工 你同意吗&#xff1f; 苹果估计想取代第三方的pull to refresh” --------------以上摘自DevDiv社区 源代码参考了DevDiv社区的代码 地址&#xff1a;http://www.devdiv.com/iOS_iP…