$.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

cryptico.js – Verschlüsseln in JavaScript Ajax ist ne lustige Sache, vor allem wenn man die Daten unverschlüsselt durch die Gegend schickt ;) Bei manchen Daten ist das kein Problem, aber späte...
jFontSize – dynamische Font-Size mittels jQu... Ich entwickele zur Zeit einen Magento-Shop für Silver Surfer. Natürlich gibt es da besondere Ansprüche, und eine davon ist die klare Lesbarkeit der Se...
HTML5 Validierung mit jQuery HTML5 besitzt eine eingebaute Validierung für Formular-Elemente, das dumme ist nur, diese funktioniert derzeit nur auf Webkit-Browsern und nicht auf F...
PouchDB – CouchDB mit Javascript Ich habe ja schon desöfteren verkündet, das man nicht alles mit MySQL todschlagen muss. Zum einen gibt es sinnvolle Key-Value-Stores, zum anderen Date...

Schreibe einen Kommentar

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