jQuery.Callbacks()的描述与实例

jQuery.Callbacks()的描述与实例
  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' )).

推荐阅读