jQuery之Callbacks函数功能测试
来源:互联网 发布:mac svn图形化界面 编辑:程序博客网 时间:2024/05/16 11:14
一个多用途的回调列表对象,提供了强大的的方式来管理回调函数列表。
1.创建Callbacks函数
var callbacks=$.Callbacks();//下面四个参数可以两两组合once、memory、unique、stopOnFalsevar callbacks = $.Callbacks( "once" );var callbacks = $.Callbacks( "memory" );var callbacks = $.Callbacks( "unique" );var callbacks = $.Callbacks( "stopOnFalse");var callbacks = $.Callbacks( "unique memory" );
2.Callbacks对象支持的方法
callbacks.add(fn1);//添加回调函数callbacks.remove(fn1);//删除回调函数callbacks.fire("args111");//传递参数触发回调函数callbacks.fireWith({name:"xiaoming"},['args11']);//改变上下文触发回调函数callbacks.empty();//清空回调函数列表callbacks.disable();//禁用回调函数,以后都不能再使用callbacks.has(fn1);//判断回调函数列表中是否存在函数fn1callbacks.fired();//判断这个回调函数是否回调过
3.测试简单的回调函数
function fn1(val){console.log("fn1:"+val);}function fn2(val){console.log("fn2:"+val);}function fn3(val){console.log("fn3:"+val);}var callbacks=$.Callbacks();callbacks.add(fn1);callbacks.fire("111");//fn1:111callbacks.add(fn2);callbacks.fire("222");//fn1:222//fn2:222callbacks.add(fn3);callbacks.fire("333");//fn1:333//fn2:333//fn3:333callbacks.remove(fn1);callbacks.fire("444");//fn2:444//fn3:444callbacks.empty();callbacks.fire("555");//无输出callbacks.add(fn1);callbacks.fire("666");//fn1:666callbacks.disable();//禁用了的回调列表不能再恢复使用callbacks.fire("777");//无输出callbacks.add(fn2);callbacks.fire("888");//无输出
4.测试只能触发一次的回调函数
function fn1(val){console.log("fn1:"+val);}function fn2(val){console.log("fn2:"+val);}function fn3(val){console.log("fn3:"+val);}var callbacks=$.Callbacks("once");callbacks.add(fn1);callbacks.fire("111");//fn1:111callbacks.add(fn2);callbacks.fire("222");//无输出
5.测试可以记录上次触发过程并且在新添加回调函数后直接触发
function fn1(val){console.log("fn1:"+val);}function fn2(val){console.log("fn2:"+val);}function fn3(val){console.log("fn3:"+val);}var callbacks=$.Callbacks("memory");callbacks.add(fn1);callbacks.fire("111");//fn1:111callbacks.add(fn2);//fn2:111callbacks.fire("222");//fn1:222//fn2:222
6.测试只能触发一次并且记录上次触发过程的回调函数
function fn1(val){console.log("fn1:"+val);}function fn2(val){console.log("fn2:"+val);}function fn3(val){console.log("fn3:"+val);}var callbacks=$.Callbacks("once memory");callbacks.add(fn1);callbacks.fire("111");//fn1:111callbacks.add(fn2);//fn2:111callbacks.fire("222");//无输出
7.测试列表中不存在重复函数的回调函数
function fn1(val){console.log("fn1:"+val);}function fn2(val){console.log("fn2:"+val);}function fn3(val){console.log("fn3:"+val);}var call=$.Callbacks();var callbacks=$.Callbacks("unique");call.add(fn1);callbacks.add(fn1);call.fire("111");//fn1:111callbacks.fire("111");//fn1:111call.add(fn1);callbacks.add(fn1);call.fire("222");//fn1:222//fn1:222callbacks.fire("222");//fn1:222
8.测试列表中上一条函数影响到下一个回调函数的设置
function fn1(val){console.log("fn1:"+val);if(val=="111"){return true;}return false;}function fn2(val){console.log("fn2:"+val);}var callbacks=$.Callbacks("stopOnFalse");callbacks.add(fn1);callbacks.add(fn2);callbacks.fire("111");//fn1:111//fn2:111callbacks.fire("222");//fn1:111
0 0
- jQuery之Callbacks函数功能测试
- jQuery callbacks函数
- jQuery.Callbacks之demo
- jQuery.Callbacks之demo
- jQuery源码之Callbacks详解
- jquery源码分析之Callbacks
- jQuery.Callbacks的测试代码总结
- jQuery源码阅读之jQuery.Callbacks ()
- jQuery Callbacks
- jQuery.Callbacks
- jQuery.Callbacks()
- JQuery日记6.9 Promise/A之Callbacks
- jQuery.Callbacks(flags)
- 阅读jquery--Callbacks
- jQuery Callbacks使用
- 学习jQuery.Callbacks
- JQuery源码浅析: Callbacks
- jquery.Callbacks的实现
- 【模拟】洛谷 P1067 多项式输出
- BZOJ 1483: [HNOI2009]梦幻布丁 链表或者平衡树启发式合并
- 异常处理
- greenDAO3 中使用关系
- 汉诺塔 (杭电acm2064)
- jQuery之Callbacks函数功能测试
- leetcode118 Pascal's Triangle
- 【DP】洛谷 P1064 金明的预算方案
- Scrapy用mysql存储的小技巧
- 设计模式之备忘录模式
- 布局css 标签重置以及类的初始化模板
- java 导出Excel
- spring boot (一)快速入门
- 《Effective java 第2版》读书笔记--创建/销毁对象