currentTarget 与 Target 的区别
在一般情况下,target与currentTarget指向的是同一个对象。一般情况是指我们只对某一个独立的mc添加侦听器。如下:
var mc:Sprite=new Sprite();
addChild(mc);
mc.x=300,mc.y=300;
mc.graphics.beginFill(0×000000);
mc.graphics.drawRoundRect(0,0,50,50,10,10);
mc.name=”圆角矩形mc”;
mc.addEventListener(MouseEvent.CLICK,clickF);
function clickF(e) {
trace(“target:”+e.target.name);
trace(“currentTarget:”+e.currentTarget.name);
}
//输出中可以看出,target与currentTarget均指向”圆角矩形mc”
特殊情况是指,有两个容器实例:sp1和sp2,且sp2装在sp1之中,即sp1.addChild(sp2)。然后分别给sp1和sp2添加侦听器,此时target与currentTarget的指向是较复杂的。见下面的代码:
var sp1:Sprite=new Sprite();
addChild(sp1);
sp1.x=100;
sp1.y=50;
sp1.name=”sp1方形”;
var sp2:Sprite=new Sprite();
sp1.addChild(sp2);
sp2.x=100;
sp2.y=50;
sp2.name=”sp2圆形”;
sp1.graphics.beginFill(0xff0000);
sp1.graphics.drawRect(0,0,50,50);
sp2.graphics.beginFill(0×0000ff);
sp2.graphics.drawCircle(0,0,25);
sp1.addEventListener(MouseEvent.CLICK,clickFunc);
//sp2.addEventListener(MouseEvent.CLICK,clickFunc);
function clickFunc(e) {
trace(“target:”+e.target.name);
trace(“currentTarget:”+e.currentTarget.name)
}
代码是给父容器添加了侦听器,这里又分两种情况:一、点击sp1,输出target与currentTarget均指向sp1;二、点击sp2,输出target指向sp2,currentTarget指向sp1(即父容器);
将sp1.addEventListener(MouseEvent.CLICK,clickFunc);注释掉,再打开sp2.addEventListener(MouseEvent.CLICK,clickFunc);的注释,此时也可分两种情况:一、点击sp1,结果没有反应,因为并未给它添加侦听器;二、点击sp2,输出target与currentTarget均指向sp2(很好理解,也因为它的父级容器没有添加侦听)。
将以上为sp1和sp2注册侦听器的语句都打开,点击sp1会怎样?点击sp2呢?
点击sp1输出:
target:sp1方形
currentTarget:sp1方形
点击sp2输出:
target:sp2圆形
currentTarget:sp2圆形
target:sp2圆形
currentTarget:sp1方形
说明父级和子级都添加侦听的情况下,点击子级,不仅它本身能侦听到,它的父级也可以侦听到。
由上面可以得出..当使用事件的时候,只需注意addEventListener者 和 使用currentTarget.就不会出现错误...
currentTarget 与 Target 的区别的更多相关文章
- Flex的 Event中属性currentTarget与target的区别
Flex的 Event中属性currentTarget与target的区别 1.区别 (1)currentTarget是事件的处理对象(event processor) (2)target是事件的调用 ...
- 第九课-1 事件的状态Event 对象 ,事件,元素,节点的关系,事件委托currentTarget与target的区别
<ul> <li>1itme1</li> <li>2itme2</li> <li>3itme3</li> <l ...
- target与currentTarget与this的区别
target与currentTarget与this的区别: target在事件流的目标阶段:currentTarget在事件的捕获.目标及冒泡阶段. 只有当事件流处在目标阶段的时候,二者的指向才是一致 ...
- 对象this、currentTarget和target
在事件处理程序内部,对象this始终等于currentTarget的值,而target则只包含事件的实际目标.如果直接将事件处理程序指定给了目标元素,则this.currentTarget和targe ...
- jquery中this和event.target的区别
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Flex的 Event中属性currentTarget与target的差别
Flex的 Event中属性currentTarget与target的差别 1.差别 (1)currentTarget是事件的处理对象(event processor) (2)target是事件的调用 ...
- event.currentTarget和event.target的区别
currentTarget始终是监听事件者,而target是事件的真正发出者.
- minSdkVersion maxSdkVersion targetSdkVersion target 的区别
minSdkVersion 描述:app最低支持的sdk版本号 作用:如果手机SdkVersion小于app中定义的minSdkVersion,则android系统不允许安装该app 定义位置:And ...
- Javascript中event.srcElement和event.target的区别
event.srcElement 可以捕获当前事件作用的对象,如event.srcElement.tagName可以捕获活动标记名称.注意获取的标记都以大写表示,如"TD",&qu ...
随机推荐
- hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档
相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...
- Uva 208 - Firetruck
[题目链接]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&p ...
- JEE , EJB概念深入概括
说起EJB,不得不提JEE,java EE 英文全称为:java Enterprise Edition企业级应用的软件架构,是一种思想,也是一种规范,方便从事这方面的开发者以及开发厂商进行规范性的开发 ...
- Nginx 工作原理和优化、漏洞
1. Nginx的模块与工作原理 Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(locat ...
- Android View事件传递机制
ViewGroup dispatchTouchEvent onInterceptTouchEvent onTouch View dispatchTouchEvent onTouch 假设View的层级 ...
- linux 下终端复用软件推荐——tmux
使用过些linux终端,比如Tilda.Terminator. 之前最经常用的是Terminator,其可以上下左右分屏,比较方便,但其有个缺点是经常无故崩溃. 后来遇到Tmux,根据网上的设置配置了 ...
- POJ 3660 Cow Contest (最短路dijkstra)
MPI Maelstrom 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/G Description BIT has recen ...
- eclispe输入@注解时提示所有注解的设置
修改输入@提示所有的注解提示方法 eclipse下windows-->preference-->java-->editor-->Content Assist下的Enable a ...
- 山东理工大学ACM平台题答案关于C语言 1181 C语言实验——最小公倍数和最大公约数
C语言实验——最小公倍数和最大公约数 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 从键盘输入两个正整数,求这两个正整数的最小公 ...
- DotNetZip封装类
DotnetZip是一个开源类库,支持.NET的任何语言,可很方便的创建,读取,和更新zip文件.而且还可以使用在.NETCompact Framework中. 下载地址在这里: http://d ...