jQuery.Callbacks( flags )
描述: 一个多用途的回调列表对象,提供了强大的的方式来管理回调函数列表。
添加的版本: 1.7jQuery.Callbacks( flags )
flags
类型: String
一个用空格标记分隔的标志可选列表,用来改变回调列表中的行为。
$.Callbacks()的内部提供了jQuery的$.ajax() 和 $.Deferred() 基本功能组件。它可以用来作为类似基础定义的新组件的功能。
$.Callbacks() 支持的方法,包括 callbacks.add(),callbacks.remove(), callbacks.fire() and callbacks.disable().
Getting started(入门)
以下是两个样品的方法命名fn1 和 fn2:
function fn1( value ) {
console.log( value );
}
function fn2( value ) {
fn1("fn2 says: " + value);
return false;
}
这些可以添加为回调函数作为一个$.Callbacks的列表,并调用如下:
var callbacks = $.Callbacks();
callbacks.add( fn1 );
// outputs: foo!
callbacks.fire( "foo!" );
callbacks.add( fn2 );
// outputs: bar!, fn2 says: bar!
callbacks.fire( "bar!" );
这样做的结果是,它使构造复杂的回调列表变得简单,输入值可以通过尽可能多的函数根据需要轻松使用。
用于以上的两个具体的方法: .add() 和 .fire() .add() 支持添加新的回调回调列表, 而.fire() 提供了一种用于处理在同一列表中的回调方法的途径.
另一种方法由$.Callbacks 的.remove(),用于从回调列表中删除一个特定的回调。下面是.remove() 使用的一个例子:
var callbacks = $.Callbacks();
callbacks.add( fn1 );
// outputs: foo!
callbacks.fire( "foo!" );
callbacks.add( fn2 );
// outputs: bar!, fn2 says: bar!
callbacks.fire( "bar!" );
callbacks.remove( fn2 );
// only outputs foobar, as fn2 has been removed.
callbacks.fire( "foobar" );
Supported Flags(支持的 Flags)
这个 flags 参数是$.Callbacks()的一个可选参数, 结构为一个用空格标记分隔的标志可选列表,用来改变回调列表中的行为 (比如. $.Callbacks( 'unique stopOnFalse' )).
|