Jquery回調(diào)對(duì)象

今天來講講 Jquery 中的回調(diào)對(duì)象這個(gè)知識(shí)點(diǎn)

(1) jQuery.Callbacks( flags )
描述:一個(gè)多用途的回調(diào)列表對(duì)象,提供了強(qiáng)大的的方式來管理回調(diào)函數(shù)列表器贩。

flags:string颅夺,一個(gè)用空格標(biāo)記分隔的標(biāo)志可選列表,用來改變回調(diào)列表中的行為。

function fn1( value ){
    console.log( value )
}

function fn2( value ){
    fn1('fn2 says:' + value);
    return false;
}

var callbacks = $.Callbacks();  //回調(diào)函數(shù)列表

callbacks.add( fn1 )    //將 fn1 添加到回調(diào)函數(shù)列表中

callbacks.fire('foo!')  //傳入?yún)?shù)并執(zhí)行所有回調(diào)函數(shù)

callbacks.add( fn2 );

callbacks.remove( fn2 )  //從回調(diào)列表中刪除一個(gè)特定的回調(diào)

支持的 flags

var callbacks = $.Callbacks( "once" ); 
 //確保這個(gè)回調(diào)列表只執(zhí)行( .fire() )一次(像一個(gè)遞延 Deferred).

var callbacks = $.Callbacks( "memory" ); 
//保持以前的值蛹稍,將添加到這個(gè)列表的后面的最新的值立即執(zhí)行調(diào)用任何回調(diào) (像一個(gè)遞延 Deferred).

var callbacks = $.Callbacks( "unique" );
 // 確保一次只能添加一個(gè)回調(diào)(所以在列表中沒有重復(fù)的回調(diào)).

var callbacks = $.Callbacks( "stopOnFalse" );
 //當(dāng)一個(gè)回調(diào)返回false 時(shí)中斷調(diào)用

(2) callbacks.add( callbacks )
回調(diào)列表中添加一個(gè)回調(diào)或回調(diào)的集合吧黄。
callbacks:一個(gè)函數(shù),或者一個(gè)函數(shù)數(shù)組唆姐,用來添加到回調(diào)列表

var foo = function( value ){
   console.log( 'foo: ' + value);
}

var bar = function( value ){
   console.log( 'bar: ' + value);
}

var callbacks = $.Callbacks();

callbacks.add('foo');
//callbacks.add([foo, bar]);

callbacks.fire('哈哈哈')

(3) callbacks.disable()
禁用回調(diào)列表中的回調(diào)拗慨,這個(gè)方法不接受任何參數(shù),返回綁定它的那個(gè)回調(diào)函數(shù)

callbacks.disable();

(4) callbacks.empty();
從列表中刪除所有的回調(diào),不接受任何參數(shù)

callbacks.empty();

(5) callbacks.fire(arguments)
傳入指定的參數(shù)調(diào)用所有的回調(diào)

callbacks.fire( "bar" );

(6) callbacks.fired()
確定回調(diào)是否至少已經(jīng)調(diào)用一次
不接受任何參數(shù)

var foo = function( value ){
   console.log( 'foo: ' + value);
}

var callbacks = $.Callbacks();

callbacks.add( foo );

callbacks.fire('hello');
callbacks.fire('world');

console.log( callbacks.fired() ) => true

(7) callbacks.fireWith([context],[,args])
訪問給定的上下文和參數(shù)列表中的所有回調(diào)

var log = function(value1, value2){
   console.log( 'Received: ' + value1 + '赵抢,' + value2 );
}

var callbacks = $.Callbacks();

callbacks.add( log )

callbacks.fireWith( window, ['foo', 'bar']); ==> 'Received: foo剧蹂, bar'

(8) callbacks.has( callback )
確定列表是否有綁定任何回調(diào),如果回調(diào)作為一個(gè)參數(shù)提供烦却,那么可以確定其是否在列表中

var foo = function(value1, value2){
   console.log( 'Received: ' + value1 + '宠叼,' + value2 );
}

var bar = function( value1, value2 ){
   console.log( 'foobar' );
}

var callbacks = $.Callbacks();

callbacks.add( foo );

console.log( callbacks.has( foo ) ) //==> true
console.log( callbacks.has( bar ) );//==> false

(9) callbacks.lock()
鎖定回調(diào)列表的當(dāng)前狀態(tài)

callbacks.lock();

(10) callbacks.locked()
確定回調(diào)列表是否已被鎖定

callbacks.locked();

(11) callbacks.remove(callbacks)
從回調(diào)列表中刪除的一個(gè)函數(shù)或者函數(shù)數(shù)組

callbacks.remove( foo );
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市其爵,隨后出現(xiàn)的幾起案子冒冬,更是在濱河造成了極大的恐慌,老刑警劉巖摩渺,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件简烤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡摇幻,警方通過查閱死者的電腦和手機(jī)横侦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绰姻,“玉大人丈咐,你說我怎么就攤上這事×辏” “怎么了棵逊?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長银酗。 經(jīng)常有香客問我辆影,道長,這世上最難降的妖魔是什么黍特? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任蛙讥,我火速辦了婚禮,結(jié)果婚禮上灭衷,老公的妹妹穿的比我還像新娘次慢。我一直安慰自己,他們只是感情好翔曲,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布迫像。 她就那樣靜靜地躺著,像睡著了一般瞳遍。 火紅的嫁衣襯著肌膚如雪闻妓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天掠械,我揣著相機(jī)與錄音由缆,去河邊找鬼注祖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛均唉,可吹牛的內(nèi)容都是我干的是晨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼舔箭,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼罩缴!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起限嫌,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤靴庆,失蹤者是張志新(化名)和其女友劉穎时捌,沒想到半個(gè)月后怒医,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奢讨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年稚叹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拿诸。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡扒袖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出亩码,到底是詐尸還是另有隱情季率,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布描沟,位于F島的核電站飒泻,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏吏廉。R本人自食惡果不足惜泞遗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望席覆。 院中可真熱鬧史辙,春花似錦、人聲如沸佩伤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽生巡。三九已至方库,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間障斋,已是汗流浹背纵潦。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國打工徐鹤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人邀层。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓返敬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親寥院。 傳聞我的和親對(duì)象是個(gè)殘疾皇子劲赠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355