Egret事件机制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Egret事件机制相关的知识,希望对你有一定的参考价值。

参考技术A

Egret事件机制包含四个步骤: 注册侦听器 发送事件 侦听事件 移除侦听器 。且是按顺序执行。

注册侦听器之前需要建立侦听器,侦听器可以是独立的函数,也可以是某一个对象的方法。
注册侦听器使用事件发送者的 addEventListener() 将相应的事件分配给侦听器。

示例:

上面示例中,分别为计时器Timer的interver间隔触发监听,Timer完成的监听触发,imageButton点击监听,sprite容器点击监听。

Egret中有专门的触摸事件类,使用触摸事件时,默认需要打开显示对象的触摸开关,即将 touchEnabled 设置为 true 。

egret: if判断语句不能写在addEventListener监听事件外面吗?

问题同标题。

设定的效果是:当判断到this.isnotremove的值为true时,监听并执行this.parent.removeChild(this);

然而,我发现,即使this.isnotremove的值为false,此时if条件并不对等,但是仍然可以进入监听并执行this.parent.removeChild(this);

 

 

 

然而当我把if判断放入addEventListener监听事件中去时,我发现,此时的if判断生效了!

 

 

 

 

虽然找到了解决办法,但是我仍然不知道为什么if判断语句不能在addEventListener监听事件外面进行。

 

以上是关于Egret事件机制的主要内容,如果未能解决你的问题,请参考以下文章

事件与用户交互

DOM事件机制

Spring事件监听机制源码解析

事件驱动机制是啥?

Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 四 | View 事件传递机制 )

事件传递和响应机制