Meine Herren!
Na super, ich reagiere ausschliesslich auf Events wie on.click oder on.submit. Wie sieht die zweite Variante aus?
Keine Sorge du machst das richtig. Du benutzt Callbacks vermutlich täglich, nur jetzt geben wir dem Tier mal einen Namen.
$('#button').click( function(){
console.log('button clicked');
});
Das ist jQuery-Variante, um einen Event-Handler beim Klick-Event zu registrieren. Beachte: click() ist ein Funktionsaufruf und wir übergeben der Funktion eine weitere anonyme Funktion als Parameter.
Die erste Variante dagegen würde so aussehen (Psuedo):
// Solange den Zustand des Buttons abfragen, bis er positiv wird
while ( button.istNichtGedrückt ) {
// Nichts machen, sondern einfach nur warten
}
// hier kommen wir erst hin, wenn der Button gedrückt wurde
buttonWurdeGedrückt();
Im Web-Design existiert diese Variante nicht, weil es technisch einfach nicht möglich ist. Der Event-Loop von JavaScript sorgt dafür, dass keine Benutzer-Eingaben entgegen genommen werden können, solange wir in der while-Schleife festhängen, und damit ergibt sich dann eine Endlos-Schleife.
“All right, then, I'll go to hell.” – Huck Finn