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

Favicon mit Javascript austauschen Nach meiner bescheidenen Meinung sind Favicons innerhalb einer Webanwendung die Elemente, denen die wenigste Beachtung geschenkt wird. Ich habe ja sch...
Star Rating mit jQuery jRating Ich glaube die ersten die es hatten war Amazon, jene verteufelt einfache Möglichkeit einen Artikel ganz schnell mit einem bis fünf Sternen zu bewerten...
Plugins für jQuery Ich sehe und übernehme einiges an Seiten und muss leider sagen, dass scheinbar bei Javascript-Programmierung vor Beginn der Arbeiten das Hirn einmal r...
Teaser mit jQuery erstellen Heutzutage besitzt fast jede halbwegs ernst zu nehmende Webapp ein Mini-CMS im Backend. Meistens basierend auf einem WYSIWYG-Editor in JavaScript. Eig...

Schreibe einen Kommentar