eventProxy的使用api
来源:互联网 发布:js 怎么生成min.js 编辑:程序博客网 时间:2024/05/17 08:12
eventProxy是一款非常好用的javascript事件管理系统,他可以用于前端或者后端,一共有如下方法:
//绑定事件test("EventProxy - bind/trigger", function() { var obj = new EventProxy(); var counter = 0; obj.bind("event", function(data) { counter += 1; }); obj.trigger("event"); equal(counter, 1, 'Counter should be incremented.'); obj.trigger("event"); equal(counter, 2, 'Counter should be incremented.'); obj.trigger("event"); equal(counter, 3, 'Counter should be incremented.'); obj.trigger("event"); equal(counter, 4, 'Counter should be incremented.');});//解绑事件test("EventProxy - bind, then unbind all functions", function () { var obj = new EventProxy(); var counter = 0; obj.bind('event', function() { counter += 1; }); obj.trigger('event'); equal(counter, 1, 'counter should be incremented.'); obj.unbind('event'); obj.trigger('event'); equal(counter, 1, 'counter should have only been incremented once.');});//只触发一次test("EventProxy - once/trigger", function () { var obj = new EventProxy(); var counter = 0; obj.once('event', function() { counter += 1; }); obj.trigger('event'); equal(counter, 1, 'counter should be incremented.'); obj.trigger('event'); equal(counter, 1, 'counter should have only been incremented once.');});//刚绑定好就触发test("EventProxy - immediate", function () { var obj = new EventProxy(); var counter = 0; obj.immediate('event', function (){ counter +=1; }); equal(counter, 1, "counter should be incremented."); obj.trigger('event'); equal(counter, 2, "counter should be incremented.");});//把参数传入test("EventProxy - immediate/parameter", function () { var obj = new EventProxy(); var param = 0; obj.immediate('event', function (data){ equal(data, param, "data should same as param."); }, param);});//只触发一次test("EventProxy - assign one event", function () { var obj = new EventProxy(); var counter = 0; obj.assign('event', function() { counter += 1; }); obj.trigger('event'); equal(counter, 1, 'counter should be incremented.'); obj.trigger('event'); equal(counter, 1, 'counter should have only been incremented once.');});//只触发一次,在所有event好了以后触发test("EventProxy - assign two events", function () { var obj = new EventProxy(); var counter = 0; obj.assign('event1', 'event2', function(event1, event2) { equal(event1, 'event1', 'counter should not be incremented.'); equal(event2, 'event2', 'counter should not be incremented.'); counter += 1; }); obj.trigger('event1', 'event1'); equal(counter, 0, 'counter should not be incremented.'); obj.trigger('event2', 'event2'); equal(counter, 1, 'counter should be incremented.'); obj.trigger('event2'); equal(counter, 1, 'counter should have only been incremented once.');});//来一次触发一次test("EventProxy - assignAlways", function () { var obj = new EventProxy(); var counter = 0; var event2 = null; obj.assignAlways('event1', 'event2', function(data1, data2) { counter += 1; equal(data2, event2, 'Second data should same as event2.'); }); obj.trigger('event1', 'event1'); equal(counter, 0, 'counter should not be incremented.'); event2 = "event2_1"; obj.trigger('event2', event2); equal(counter, 1, 'counter should be incremented.'); event2 = "event2_2"; obj.trigger('event2', event2); equal(counter, 2, 'counter should be incremented.');});//在第N次以后触发test("EventProxy - after, 5 times", function () { var obj = new EventProxy(); var counter = 0; obj.after('event', 5, function(data) { equal(data.join(","), "1,2,3,4,5", 'Return array should be 1,2,3,4,5'); counter += 1; }); obj.trigger('event', 1); equal(counter, 0, 'counter should not be incremented.'); obj.trigger('event', 2); equal(counter, 0, 'counter should not be incremented.'); obj.trigger('event', 3); equal(counter, 0, 'counter should not be incremented.'); obj.trigger('event', 4); equal(counter, 0, 'counter should not be incremented.'); obj.trigger('event', 5); equal(counter, 1, 'counter should be incremented.'); obj.trigger('event', 6); equal(counter, 1, 'counter should have only been incremented once.');});//0次等同于立刻触发test("EventProxy - after, 0 time", function () { var obj = new EventProxy(); var counter = 0; obj.after('event', 0, function(data) { equal(data.join(","), "", 'Return array should be []'); counter += 1; }); equal(counter, 1, 'counter should be incremented.');});//任何一个被注册的事件触发都会导致注册的事件被触发test("EventProxy - any", function () { var obj = new EventProxy(); var counter = 0; var eventData1 = "eventData1"; var eventData2 = "eventData2"; obj.any('event1', 'event2', function(map) { equal(map.data, eventData1, 'Return data should be evnetData1.'); equal(map.eventName, "event1", 'Event name should be event1.'); counter += 1; }); obj.trigger('event1', eventData1); equal(counter, 1, 'counter should be incremented.'); obj.trigger('event2', 2); equal(counter, 1, 'counter should not be incremented.');});//除了某种事件以外的其他事件都可以触发test("EventProxy - not", function () { var obj = new EventProxy(); var counter = 0; obj.not('event1', function(data) { counter += 1; }); obj.trigger('event1', 1); equal(counter, 0, 'counter should not be incremented.'); obj.trigger('event2', 2); equal(counter, 1, 'counter should be incremented.'); obj.trigger('event2', 2); equal(counter, 2, 'counter should be incremented.');});
- eventProxy的使用api
- [EventProxy(一)]NodeJs之使用EventProxy解决多层异步调用的嵌套
- EventProxy使用学习笔记
- 强大的异步控制!!! eventproxy
- NodeJS中使用 eventproxy 控制并发-@JacksonTian
- Nodejs 使用eventproxy来控制并发
- nodejs使用eventproxy和async控制并发
- node.js 学习笔记004:使用eventproxy控制并发
- eventProxy解析
- [EventProxy(二)]EventProxy之group自动排序
- [EventProxy(三)]EventProxy之tail说明
- [EventProxy(四)]EventProxy之异常处理
- EventProxy流程控制
- EventProxy详细讲解
- eventproxy 控制并发
- EventProxy流程控制
- WinSocket 的API使用
- TFS API的使用
- 函数调用约定,_cdecl,_stdcall
- win7系统的相关的命令
- 碰撞检测
- How to Use Struts Layout
- Android 自动登录
- eventProxy的使用api
- 如何参与开源项目(转)
- 液晶显示器汉字字模存储及显示
- 设计模式之-代理模式
- Split函数用法
- 显示hibernate的sql参数值
- 风险偏好情绪有所改善,非美低位反弹
- 小米2发布会花絮:罗永浩出没注意
- vim文字补全插件word_complete的使用 .