<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script src="jquery-2.0.3.js"></script>
<script>
//Callbacks管理回调。-------------------------------------------------------
function aaa(){
alert(1);
}
function bbb(){
alert(2);
}
function ccc(){
alert(3);
}
var cb = $.Callbacks();
cb.add( aaa );
cb.add( bbb );
cb.add( ccc );
cb.fire(); //绑定事件,观察者模式
document.addEventListener('click',function(){ alert(1); },false);
document.addEventListener('click',function(){ alert(2); },false);
document.addEventListener('click',function(){ alert(3); },false);
--------------------------------------------------------------------------- function aaa(){
alert(1);
}
(function(){
function bbb(){//局部作用域
alert(2);
}
})();
aaa();
bbb();
---------------------------------------------------------------------------
var cb = $.Callbacks();
function aaa(){
alert(1);
}
cb.add(aaa);
(function(){
function bbb(){
alert(2);
}
cb.add(bbb);
})();
cb.fire();//1 2 ----------------------------------------------------------------------
once
memory
unique
stopOnFalse add
remove
has
empty
disable
disabled
lock
locked
fireWith
fire
fired
------------------------------------------------------------------------- function aaa(){
alert(1);
}
function bbb(){
alert(2);
}
function ccc(){
alert(3);
}
var cb = $.Callbacks();
cb.add( aaa );
cb.add( bbb );
cb.add( ccc );
cb.remove( bbb );
cb.fire();
</script>
</head> <body>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script src="jquery-2.0.3.js"></script>
<script> function aaa(){
alert(1);
} function bbb(){
alert(2);
} function ccc(){
alert(3);
}
-------------------------------------------------------------------------
var cb = $.Callbacks('once'); cb.add( aaa );
cb.add( bbb ); cb.fire();
cb.fire();//触发一次
-------------------------------------------------------------------------
var cb = $.Callbacks('memory'); cb.add( aaa ); cb.fire(); cb.add( bbb );//弹出来,不写memory不谈,有memory又调用一次fire()
--------------------------------------------------------------------------
var cb = $.Callbacks('unique'); cb.add( aaa );
cb.add( aaa ); cb.fire();//只执行一次
---------------------------------------------------------------------------
function aaa1(){
return false;
alert(1);
} var cb = $.Callbacks('stopOnFalse'); cb.add( aaa1 );
cb.add( bbb ); cb.fire();//只谈1不谈2
----------------------------------------------------------------------------
var cb = $.Callbacks('once memory');//组合形式 cb.add( aaa ); cb.fire();//2也弹出来 cb.add( bbb ); cb.has (bbb );//true
cb.fire();//不执行
------------------------------------------------------------
options : { once : true , memory : true } optionsCache : {
'once memory' : { once : true , memory : true }
}
----------------------------------------------------------
function aaa(n){
alert('aaa' + n);
return false;
}
function bbb(n){
alert('bbb'+n);
}
var cb = $.Callbacks();
cb.add(aaa,bbb);
cb.fire('hello');
cb.fire('hello');
</script>
</head> <body>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script src="jquery-2.0.3.js"></script>
<script>
---------------------------------------------------------------------
var bBtn = true;
function aaa(){
alert(1);
if(bBtn){
cb.fire();
bBtn = false;
}
}
function bbb(){
alert(2);
}
var cb = $.Callbacks();
cb.add( aaa );
cb.add( bbb );
cb.fire();
----------------------------------------------------------------------
function aaa(){
alert(1);
} function bbb(){
alert(2);
} var cb = $.Callbacks('once memory'); cb.add( aaa ); cb.fire(); cb.add( bbb ); cb.fire(); ---------------------------------------------------------------------------
function aaa(){
alert(1);
} function bbb(){
alert(2);
} var cb = $.Callbacks('memory'); cb.add( aaa ); cb.fire(); cb.lock(); cb.add( bbb ); cb.fire(); </script>
</head> <body>
</body>
</html>

jquery09--Callbacks : 回调对象的更多相关文章

  1. jquery源码01---(2880 , 3042) Callbacks : 回调对象 : 对函数的统一管理

    // optionsCache : { 'once memory' : { once : true , memory : true } } var optionsCache = {}; // once ...

  2. jquery源码分析(四)——回调对象 Callbacks

    借用百度百科来说明下回调函数: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该 ...

  3. jQuery-1.9.1源码分析系列(五) 回调对象

    jQuery.Callbacks()提供的回调函数队列管理本来是延时回调处理的一部分,但是后面将其独立出来作为一个模块.jQuery就是这样,各个模块间的代码耦合度是处理的比较好的,值得学习.虽然是从 ...

  4. jQuery源码笔记——回调对象

    回调对象是一个多用途的回调列表对象,提供了强大的的方式来管理回调函数列表. 最简单的缓存对象 function Callbacks(){ var list = [], self = { add: fu ...

  5. JQuery中的回调对象

    JQuery中的回调对象 回调对象(Callbacks object)模块是JQuery中的一个很基础的模块,很多其他的模块(比如Deferred.Ajax等)都依赖于Callbacks模块的实现.本 ...

  6. jquery的2.0.3版本源码系列(6):2880-3042行,回调对象,对函数的统一管理

    目录 1 . 回调对象callbacks的演示 回调的使用有一点像事件绑定,先绑定好,等到有点击事件或者其他时就触发. <script src="js/jquery-2.0.3.js& ...

  7. jQuery使用():Callbacks回调函数列表之异步编程(含源码分析)

    Callbacks的基本功能回调函数缓存与调用 特定需求模式的Callbacks Callbacks的模拟源码 一.Callbacks的基本功能回调函数缓存与调用 Callbacks即回调函数集合,在 ...

  8. WCF初探-13:WCF客户端为双工服务创建回调对象

    前言: 在WCF初探-5:WCF消息交换模式之双工通讯(Duplex)博文中,我讲解了双工通信服务的一个应用场景,即订阅和发布模式,这一篇,我将通过一个消息发送的例子讲解一下WCF客户端如何为双工服务 ...

  9. jQuery 2.0.3 源码分析 回调对象 - Callbacks

    源码API:http://api.jquery.com/jQuery.Callbacks/ jQuery.Callbacks()是在版本1.7中新加入的.它是一个多用途的回调函数列表对象,提供了一种强 ...

  10. jquery的回调对象Callbacks详解

    Callbacks : 对函数的统一管理 Callbacks的options参数接受4个属性,分别是once : 只执行一次momery : 记忆stopOnFalse : 强制退出循环unique ...

随机推荐

  1. Anaconda升级

    Anaconda是可以进行升级的, 这样就省的重装一遍python全家桶了, 比如:   conda update conda conda install anaconda=2018.12   就可以 ...

  2. powerdesigner里的table背景色是不是可以修改的?

    Tools->Display Preferences->Format->Table->Modify->Fill->Fill color:

  3. js中作用域链的问题

    为什么没有var声明的变量是全局的? 是因为,在js中,如果某个变量没有var声明,会自动到上一层作用域中去找这个变量的声明语句,如果找到,就使用,如果没有找到,继续向上查找,一直查找到全局作用域为止 ...

  4. HDU I Hate It(线段树单节点更新,求区间最值)

    http://acm.hdu.edu.cn/showproblem.php?pid=1754 Problem Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分 ...

  5. 仿函数(functor)

    仿函数(functor),就是使一个类的使用看上去像一个函数.其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了. In computer programmin ...

  6. Nginx的编译与安装

    nginx.org 下载最新版本[选择 stable 稳定版]. 安装步骤: 1.cd /usr/local/src/ 2.wget http://nginx.org/download/nginx-1 ...

  7. 一个Web报表项目的性能分析和优化实践(一):小试牛刀,统一显示SQL语句执行时间

    最近,在开发和优化一个报表型的Web项目,底层是Hibernate和MySQL. 当报表数据量大的时候,一个图表要花4秒以上的时间. 以下是我的分析和体会.  1.我首先需要知道哪些函数执行了多少时间 ...

  8. selenium的安装(2)

    selenium的安装:  1):selenium的在线按:使用dom的cmd打开命令提示符窗口.然后敲上这个命令可以安装了==> 安装命令 pip install selenium 删除命令: ...

  9. C#+ArcGIS Engine 获取地图中选中的要素

    转自 C#+ArcGIS Engine 获取地图中选中的要素 C#+ArcGIS Engine 获取地图中选中的要素 提供一种简单遍历获取地图中选中要素的方法,代码如下: List<IFeatu ...

  10. Liquibase+spring 初步使用

    现在的工作的项目中用了liquibase,感觉挺爽的,可以跟踪.管理数据库的重构.这对于很多需求变更较大的项目是非常不错的,特别是互联网的项目.(虽然互联网Nosql已经非常流行,不过俺觉得传统关系型 ...