jquery09--Callbacks : 回调对象

简介:
复制代码
<!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>
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/6914950.html,如需转载请自行联系原作者

相关文章
|
5月前
|
JavaScript 前端开发
jQuery学习(十二)—jQuery中对象的查找方法总结
jQuery学习(十二)—jQuery中对象的查找方法总结
|
5月前
|
JavaScript
jQuery学习(六)—jQuery对象的创建
jQuery学习(六)—jQuery对象的创建
|
6月前
|
JavaScript 前端开发 开发者
jQuery文档对象模型DOM的实际应用
jQuery文档对象模型DOM的实际应用
30 0
|
6月前
|
JavaScript
jQuery判断是否为对象或者数组
jQuery判断是否为对象或者数组
|
5月前
|
JavaScript
【jQuery学习】—jQuery对象的访问
【jQuery学习】—jQuery对象的访问
|
5月前
|
JavaScript
【jQuery学习】—jQuery对象的串联
【jQuery学习】—jQuery对象的串联
|
5月前
|
JavaScript 前端开发
【jQuery学习】—jQuery对象的过滤
【jQuery学习】—jQuery对象的过滤
|
5月前
|
JavaScript
jQuery学习(二)—jQuery对象的获取
jQuery学习(二)—jQuery对象的获取
|
6月前
|
JSON JavaScript 数据格式
jQuery将数组转化成对象
jQuery将数组转化成对象
19 0
|
9月前
|
JavaScript 前端开发
jQuery基本介绍和 DOM 对象互相转换
jQuery基本介绍和 DOM 对象互相转换
31 0