$.Callbacks() in jQuery 1.7

Ab und an scheint doch nochmal etwas neues und sinnvolles in jQuery zu kommen, in der Version 1.7 sind es wohl unter anderem die $.Callbacks(). Im Prinzip sind die Callbacks ein Stack von Functions, die sich automatisch nacheinander aufrufen lassen. Natürlich gibt es einige Möglichkeiten mehr, aber in der ganzen einfachen Variante reicht das schon als Erklärung. Natürlich lässt sich der Stack beliebig ändern, und wahrscheinlich kann er die eine oder andere Javascript-Anwendung stark vereinfachen. Als Beispiel nehmen wir mal zwei Funktionen her:

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

Normalerweise ruft man sie wie folgt auf:

fn1('foo');
fn2('bar');

Man kann diese aber auch mittels $.Callbacks() ansprechen:

var callbacks = $.Callbacks();  
callbacks.add( fn1 );  
callbacks.add( fn2 );

Dann vereinfacht sich der Aufruf der Functions auf eine einzelne Zeile:

callbacks.fire( 'foo bar' );

Lustigerweise werden beide Functions beim .fire mit dem gleichen Parameter aufgerufen, es wird in dem Beispiel demnach 2x „foo bar“ ausgegeben. Insofern muss man wirklich aufpassen was man so treibt, aber für die Manipulation von Objekte ist es optimal.

Sinn und Zweck ist es natürlich, Code zu vereinfachen. Ob es immer oder überhaupt Sinn macht $.Callbacks() zu verwenden sei an dieser Stelle einmal dahingestellt, eine weiterführende Erklärung was man mit $.Callbacks() alles anstellen kann, gibt es hier.

Ähnliche Beiträge

jQuery Form Wizard Web-Formulare können einfach sein, aber auch ganz schön komplex werden. Besonders eklig können diejenigen werden, die auf mehrere Seiten aufgeteilt we...
knockout.js – was ist es, was kann es? Nicht zuletzt durch ein Tutorial bei tutsplus.com bin ich auf knockout.js aufmerksam geworden. Da inzwischen ein regelrechter Hype um das relative kle...
Javascript spricht MP3 Nein, kein Scherz! ;) JSmad kann mittels der WEB Audio API von HTML5 MP3 in Javascript decodieren. Das funktioniert nativ derzeit nur im Firefox 4, in...
Inline Labels für Formularfelder „Normalerweise sollte man“ die Beschriftung für ein Input-Field immer mit dem Tag

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.