转载于:http://blog.163.com/it_yinliqing/blog/static/784972712010101512031300/
事件流的流向:从上→下,到达 目标对象,从下→上。从上→下属于捕获阶段,从下→上冒泡阶段,捕获阶段默认是关闭的。事件流检测过程中检测对象是否注册了事件,如果注册了事件则相应(执行对应的函数)。当捕获阶段设置为true时,冒泡阶段和目标阶段都不执行。
一、注册事件说明:btn.addEventListener(type,fun,useCapture);
1.type:事件类型,实际是字符串常量,表示事件的类型
2.fun:事件处理函数
3.useCapture :是否打开捕获,true:在捕获阶段触发事件(不执行目标阶段和冒泡阶段) false:在冒泡阶段触发事件(不执行捕获阶段)
二、移除事件说明:removeEventListener(type:string,listener:fun,useCapture:boolean=false)
1.type:事件类型,该类型要与注册时的类型对应
2.fun:事件处理函数,移除事件时调用的方法,该方法要与注册时的方法对应
3.useCapture:是否打开捕获
三、分发事件:dispatchEvent(evt:Event):将事件加入到事件流中。
1.使用方法:首先要注册监听,然后再一个方法中分发事件,到事件流中。
2.dispatchevent(),在btn事件处理函数中,通过btn分发了"TestEvent"事件到事件流中,事件流经过的对象有,btn、cav、app。在事件流经过这些对象时,发现cav注册了"TestEvent"事件,所以就出发了该事件。如果cav没有在事件流中,那么将不触发该事件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。