UNPKG

juggle-event

Version:
96 lines (69 loc) 2.61 kB
# juggle-event # juggle-event是一个事件库,可用于解除包含结构,树形结构的耦合性。 ### 特点: 1、支持冒泡,前提冒泡对象的parent不为空并且isDisplayObject是true 2、在派发事件的回调函数内将parent设置为null,不能阻止这一次parent接到这次事件 3、在派发事件某层级的回调函数内,移除这层级的监听或添加这层级的监听,是不会影响这次派发事件目标的改变的。 4、但是如果在某层级的回调函数内,移除上层的监听或添加上层的监听,上层本轮会受到影响。 ### 依赖juggle-help ### 快速开始: npm install juggle-event ### 如何使用: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="../juggle-help/dist/juggle-help.js" type="text/javascript"></script> <script src="../juggle-event/dist/juggle-event.js" type="text/javascript"></script> <script type="text/javascript"> //继承EventDispatcher function DisplayObj() { this.parent = null; this.isDisplayObject = true; juggle.EventDispatcher.apply(this); this.toString = function () { return 'im DisplayObj'; } } //继承DisplayObj function DisplayObjContainer() { DisplayObj.apply(this); this.addChild = function (child) { child.parent = this; }; this.removeChild = function (child) { child.parent = null; }; this.toString = function () { return 'im DisplayObjContainer'; } } //关注事件的函数类 function Class1() { this.operate = function (event, data) { this; alert(event.mCurrentTarget.toString()); }; } window.onload = function () { //创建DisplayObj对象 var obj = new DisplayObj(); //创建DisplayObjContainer对象 var container = new DisplayObjContainer(); //将container是obj的容器 container.addChild(obj); //添加监听 var clazz = new Class1(); obj.addEventListener("aaa", clazz.operate, clazz); container.addEventListener("aaa", clazz.operate, clazz); //发布事件 obj.dispatchEventWith("aaa", true, "bbb"); } </script> </head> <body> </body> </html> ```